简单类型/内置类型 | 包装类 | 大小 | 取值范围 |
---|---|---|---|
int | Int | 4 | -231~231-1 |
long | Long | 8 | -263~263-1 |
double | Double | 8 | 参考c语言浮点数的存储 |
float | Float | 4 | 参考c语言浮点数的存储 |
char | Character | 2 | 0~65535 |
byte | Byte | 1 | -128~127 |
short | Short | 2 | -215~215-1 |
boolean | Boolean | JVM标准并未说明是几个字节无明确的大小,但是有些书1bit或1个字节 | true~false |
需要注意的点:
1.java中,没有所谓的0是假,非0是真
2.java中 小数默认是double类型
public static void main(String[] args) {
float f=12.5;//这么写是错误的,12.5是8个字节,不能装入float 类型4个字节里
float f=q2.5f;//这么写才正确
System.out,println(f);
}
3.等号两个类型要匹配。
4. 局部变量在使用的时候一定要初始化,不初始化编译不能通过。
byte a; sout(a);错误
什么是局部变量?
定义在函数体内的变量,作用域,仅仅就是这个函数的函数体内。{}花括号圈起来。
变量的定义采用小驼峰的形式:bigNum
类名,接口,抽象类采用大驼峰:BigNum
1.一个变量名只能包含数字,字母,下划线。
2.数字不能开头.
3.变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量
4.在java中可以有美元符号“$"命名变量,但是强烈不推荐。
int variable=0;//正确
int 12varb=0;//错误
int $variable=0;//可以但是不建议
数据类型的分类
1.基本/内置类型/简单类型:(1)整数,(2)小数,(3)字符
2.引用类型:字符串,数组,类,接口,枚举
基本语法:
String 变量名=“初始值”
代码演示:
String name="zhangsan";
System.out.println(name);
注意事项:
1.java使用双引号+若干字符方式表示字符串字面值 。
2.String是引用类型(重点),后期重点解释。
3.字符串中的一些特定的不太方便直接表示的字符需要进行转义
如果是:My name is “鸢也” 这个字符串怎么打印尼?
String name ="My name is \"鸢也\"";
//这就需要用到的转移字符
列举常见的转移字符:
转移字符 | 解释 |
---|---|
\n | 换行 |
\t | 水平制表符 |
\’ | 单引号 |
\" | 双引号 |
\\ | 饭斜杠 |
字符串+的操作,表示字符串拼接“:
int a=10;
System.out.println("a="+a);
int b=20;
System.out.println("hello"+a+b);//打印出来是字符串
System.out.println(a+b+"hello");//值+字符串
字符串和任意类型数据使用加号拼接候其结果也是字符串
常量
java中的修饰常量不变:Final
作用:修饰的常量赋值之后不能改变
建议:首字母大写
final可修饰函数(密封方法)修饰类 (密封类)
类型转换
1.boolean 不能和任何其他数据类型之间转换
2.注意 等号左右两边数据类型字节大小表示数字的宽度。
int a=1;
long b=2;
a=b;//编译错误,long8字节,int4字节,不可能将b赋给a
补充:
最后打印的时候,分母不能为0;
System.out.println(1/0);//编译错误,算数异常
挑重点讲!
运算符 | 解释 |
---|---|
&(按位与) | 有一个0则为0,两个1则为1 |
|(按位或) | 有一个1则为1,两个0则为0 |
~(按位取反) | 0变1,1变0 |
>>(右移) | 移动的是二进制位,右边丢弃,左边补原符号位;原符号位正数补0,负数补 1 |
<<(左移) | 向左移到,左边丢弃,右边补0 |
>>>(无符号右移) | 最右侧位不要了, 最左侧补 0 |
&&(逻辑与) | 两个操作数都为 true, 结果为 true, 否则结果为 false |
||(逻辑或) | 两个操作数都为 false, 结果为 false, 否则结果为 true |
^ | 相同位0,相异位1 |
逻辑运算符
&&:表达式1&&表达式2
注意事项:
1.只有两个表达式为真时,就为真。
2.如果表达式1为假,则不执行表达式2。
3.这个两个表达式一定只能是布尔表达式
System.out.println(2>1 && 20/10==2);//两个表达式都是真,就为真
System.out.println(2<1 && 20/10==2);//表达式1为假,则不执行表达式2
||: 表达式1 || 表达式2
注意事项:
1.只要一个表达式为真时,就为真。
2.如果表达式1为真,则不执行表达式2。
3.这个两个表达式一定只能是布尔表达式
System.out.println(2>1 && 20/10==0);//表达式1为真,结果就是真
System.out.println(2<1 && 20/10==2);//表达式2为真,结果为真