Day02:变量 / JAVA基本类型
变量
什么是变量?
变化数值的载体
变量声明、初始化、使用
声明变量
类型 大小(占用空间)
int x;
初始化变量 (赋值)
给予占用空间
int x=35;
使用变量
直接使用变量名
注意:
声明过的变量不能再次声明
大小(赋值)必须和变量类型匹配
使用变量必须声明后被初始化
变量可以一次声明多次
int a,b,c;
int a=10,b=20,c=30;
int a,b,c=30;
变量命名规则:
可以由字母、数字、_ 、$ 开头
不可以以数字 开头
大小写敏感
不允许其他其它特殊字符和空格
不能是关键字
数据类型
基本、引用数据类型
基本数据类型:
Java种有八种基本类型,都是Java语言预先定义好的,并且是关键字。
这八种基本类型分别是:
整型:
4种
byte 1字节 -128-127
short 2字节 -32768-32767
int 4字节 -21亿-21亿
long 8字节
字符型:
1种
char 2字节
浮点型 (小数):
2种
float 4字节
double 8字节
布尔型 1种
boolean 1字节
整型
整型用于存放整数:byte、short、int、long
区别在于不同类型的整型,最大值,最小值不一样。
如果byte类型的变量赋予超出其范围的值,就会编译错误,这时就需要进行类型转换。
字符型
char 类型用于存放一个字符,值用但因号表示(双引号表示字符串类型)其长度和short一样,也是16位。
只能存放一个字符,否则就会编译报错。
实例:
浮点型
浮点型类型有两种
float长度为32位
double 长度为64位
注意:
默认的小数值是double类型的。
布尔型
布尔型用于i表示真假,长度为1。
虽然布尔型真正存放的数据是0(fasle)、1(true),但是不能直接使用0、1进行赋值。
String型
String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误认为是一种基础类型。
String类型是Immutable的,一旦创建就不能被改变。
实例:
练习:
分别为如下值,找到合适的类型来定义
3.14
2.769343
365
12
'吃'
false
"不可描述"
操作:
变量之子面值
整数是int
小数double
long类型数据加l或L
float类型数据加f或F
实例:
浮点数字面值
当以f或者F结尾的时候,就表示一个float类型的浮点数,否则就是double类型(以d或者D结尾,写不写都可以)。
浮点数还可以用E或者e表示(科学计数法)
实例 :
字符和字符串字面值
字符的字面值放在单引号中。
字符串的字面值放在双引号中。
注意:
\表示转义,比如需要表示制作表,回车转义,双引号等就需要用\t\r\n\"的方式进行。
实例:
溢出
计算结果超出类型最大值,返回最小值
类型转换
从小到大
byte short int long float double
char
自动类型转换(隐式类型转换)
将小转大 得大
强制类型转换(显式类型转换)
double d=10.6;
int i=(int)d;
//可能产生丢失或溢出
转换规则:
精度高的数据类型就像容量大的杯子,可以放更大的数据。
精度底的数据类型就像容量小的杯子,只能放更小的数据。
精度小往精度大转换,是可以放下(即可转换);
精度大往精度小转换,有时候能放下,有时候不能放下。
注意:
虽然short和char都是16位的,长度一样的,但是它们之间,还是要需要进行强制转换的。
实例:
public class Lx{
public static void main(String[] args){
char a='A';
short b=80;
//虽然short和char都是16位,长度一样,
//但是他们之间,依然需要进行强制转换
a=(char)b;
//直接进行转换,会编译错误
b=a;
}
}
低精度向高精度转换
long l = 50;
int i = 50;
实例:
高精度向低精度转换
byte b = 5;
int i1 = 10;
int i2 = 300;
b = i1;
b=i2;
实例:
作用域
当一个变量被声明在类下面
变量就叫做字段 或者属性、成员变量、Field
比如变量i,就是一个属性。
那么从第2行这个变量声明的位置开始,整个类都可以访问得到。
所以其作用域就是从其声明的位置开始的整个类。
字短、属性、Field
当一个变量被声明在类下面
变量就叫做字段或者属性、成员变量、Field
实例:
参数
如果一个变量,是声明在一个方法上的,就叫做参数
参数的作用域即为该方法内的所有代码
其他方法不能访问该参数
类里面也不能访问该参数
实例:
局部变量
声明在方法内的变量,叫做局部变量
其作用域在声明开始的位置,到其所处于的块结束位置
实例:
练习:
public class HelloWorld {
int i = 1; //属性名是i
public void method1(int i){ //参数也是i
System.out.println(i);
}
public static void main(String[] args) {
new HelloWorld().method1(5);
//结果打印出来是 1还是5?
}
}
Day02:变量 / JAVA基本类型的更多相关文章
- 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值
016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...
- Java定义接口变量为接收类型有什么好处(面向接口编程)
个人理解:定义接口变量为接收类型属于面向接口的编程,通过接口的抽象能减少类之间的耦合,增加可复用性. 面向接口编程: 一种规范约束 制定者(或者叫协调者),实现者(或者叫生产者),调用者(或者叫消费者 ...
- java 枚举类型分析
最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...
- 【转】java枚举类型enum的使用
原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...
- 【转】掌握java枚举类型(enum type)
原文网址:http://iaiai.iteye.com/blog/1843553 1 背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...
- 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)
java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...
- JAVA String类型和原型模式
如上例所述,变量a,b和它们的值10,20都是存在栈里面,声明的所以String类型的引用也都是存在栈里.而字符串abc是存在字符串常量池中,new出来的String对象则是存在堆里. String ...
- 【转载】Java枚举类型的使用
枚举类型概念 package com.lxq.enumm; public class EnumDemoOne { private enum InnerEnum { RED, GREEN, YELLOW ...
- Java基本类型学习
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. 1. Java ...
随机推荐
- Java定时任务的几种方法(Thread 和 Timer,线程池)
/** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下: * */ ...
- Tableau Sheet中的操作
如果想要给数据排名,例如给饼图中的数据排名 1 创建一个Rank 描述为INDEX()的测度 2.将RANK用Label形式显示并且编辑计算方法选择特定的属性. 属性本身也有可以快速计算的一些方式. ...
- vim简明教程(附快速记忆方法)
vim分为四种模式: 普通模式(normal mode) 插入模式(insert mode) 可视模式(visual mode) 命令模式(excute mode) 下面整理了常用的快捷键和记忆方法( ...
- Java 建造者模式 简单的理解
建造者模式 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,使用多个简单的对象一步一步构建成一个复杂的对象. 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表 ...
- Redis的部署使用文档
Redis的部署使用文档 简述: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符 串).list(链表).set( ...
- TTTTTTTTTTTTT CF Good Bye 2015 C- New Year and Domino(CF611C) 二维前缀
题目 题意:给你一个n*m由.和#组成的矩阵,.代表可以放,#代表不可以,问在左上角(px,py)到(右下角qx,qy)这样的一个矩阵中,放下一个长度为2宽度为1的牌有多少种放法: #include ...
- 二分mid的取法
二分的两种形式: 1.范围缩小时,r = mid,l = mid + 1,取中间值时,mid = (l + r) >> 1. 2.范围缩小时,l = mid,r = mid - 1,取中间 ...
- Unity3D_(游戏)甜品消消乐03_游戏UI设计
甜品消消乐01_游戏基础界面 传送门 甜品消消乐02_游戏核心算法 传送门 甜品消消乐03_游戏UI设计 传送门 (源码在文章最下面~) 实现过程 游戏界面UI 分数与时间的UI显示 有关游戏U ...
- Linux-expect脚本-1
expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 首行加上/usr/bin/expect spawn: 后面加上需要执行的shell命令,比如说spawn sudo ...
- iOS13即将到来,iOS推送Device Token适配方案详解
关于提前适配iOS13 苹果推送DeviceToken的通知 随着苹果iOS13系统即将发布,个推提前推出DeviceToken适配方案,以确保新版本的兼容与APP推送服务的正常使用.iOS13的一个 ...