八大基本类型
基本类型 | 大小 | 示例 | 取值范围 |
---|---|---|---|
booleam | 1字节8位 | true | true,false |
byte | 1字节8位有符号整数 | -12 | -128~+127 |
short | 2字节16位有符号整数 | 100 | -32768~`+32767 |
int | 4字节32位有符号整数 | 12 | -2147483648~+2147483647 |
long | 8字节64位有符号整数 | 10000 | -263~+263-1 |
char | 2字节16位Unicode字符 | ‘a’ | 0~65535 |
float | 4字节32位浮点数 | 3.14 | -3.4E38~3.4E38 |
double | 8字节64位浮点数 | -2.4e3D | -1.7E308~1.7E308 |
数值类型
- 整数:byte,short,int,long
- 小数:float,double
理论上来说要为数据选择合适的数据类型,但是一般都是整数用过int,小数用double即可,除特殊要求。 定义float后面必须加f java中所有的小数默认都是double类型,所以定义float类型需要加f. java中所有的整数默认都是int类型
非数值类型
- char,booleam
char是字符型,用单引号 booleam的值只有true和false
String是对象类型不是基本类型,用来表示字符串,要用””引起来。
变量的命名规则
- 只能使用字母,数字,下划线,$,,并且首字母不能是数字
- 大小写是敏感的,y和Y是不同的
建议使用有意义的单词,比如总和用sun,分数用score等。
常量
定义以后不允许重新赋值,变量前边加一个final即可
注意点:
建议常量名全大写,比如PI,AGE,NAME
当多个单词的使用用下划线,例如:MY_NAME,MY_AGE
通常定义的时候即赋值//常量
final double PI=3.14;
int r=5;
double s=PI*r*r;
System.out.println(s);
数据类型转换
精度排行:
byte强制转换:
大的转换为小的,一般都是精度丢失。//强制转换
double dou=99.9;
int bin=(int)dou;
自动转换:
小的转换大的//自动转换
byte a1=100;
int a2=a1;//byte--->int
double a3=a2;//int---->double
转换规则:
转换的时候必须要是可以转换的类型,不能把”张三”转换为int
-
运算符
基本算术运算符:+,-,*,/,%,++,—
- 复合算术运算符:+=,-+,*=,/=,%=
+:如果两边都是数字结果为数字,如果有字符串参与,那么最终的结果就是字符串。
int a_1=10,a_2=20;
String a_3="tom";
String a_s=a_3+a_1;//结果为tom10
int a_s1=a_1+a_2;//结果为30;
/:整数除整数结果为整数小数位直接扔掉。
如果两个int相除的值需要为double型,需要把其中一个除数乘1.0即可。
int b_1=5,b_2=2;
double b_s=b_1/b_2;//结果为2.0
double b_s1=b_1*1.0/b_2;//结果为2.5
++ —:
前置 先自增或自减在参与运算
后置 先运算后自增或自减
// ++ --
int c1=1,c2=1;
//前置 先自增或自减在参与运算
System.out.println(++c1); //结果为2
//后置 先运算后自增或自减
System.out.println(c2++); //结果为1
System.out.println(c2); ///结果为2
+=,-+,*=,/=
主要作用是累加累减,累乘,累除
//复合运算符:主要作用是累加累减,累乘,累除
int e1=1,e2=2;
e2+=e1;//累加
逻辑运算符
条件运算符
格式:———>表达式?输出1:输出2