变量的分类
变量按照数据类型分类
基本数据类型
整数类型
byte(字节)从存储的结构上来讲是最小的存储结构,1个字节=8个bit位(只能存0或1),8个位每一个都有两种情况0或1。一共有28 (256)种不同的组合方式
class VariableTest{ public static void main(String[] args){ //1.整形:byte、short、int、long //2.byte的范围:-128~+127
//定义方式:变量类型 变量名称 = 变量值;
byte b1= 12; byte b2= -128; //b2=128;编译不通过 System.out.println(b1); System.out.println(b2); short s1=128; int i1=1234; //3.定义long类型的数据,数值要以L或者l结尾。 // 只是声明,标识。底层存储也只是01,不存L long l1=3414234324L System.out.println(l1); //4.定义整形变量时通常使用int类型 } }
浮点类型(非整数,带小数点的)
float和double只能满足日常使用,要求精度很高,不能用它俩(有专用的java类)
float只有四个直接,但是存储范围>long,而且还能存小数
class VariableTest{ public static void main(String[] args){ //定义float类型的变量时,数值要以F或f结尾 float f1 =12.3F; System.out.println(f1); //通常定义浮点型变量时,使用double。不用写f,并且范围大,精度高 double d1 =123.3; System.out.println(d1+1); } }
字符类型
1.申明一个字符
2个字节=2byte
class VariableTest2{ public static void main(String[] args){ //①定义char类型变量,通常使用一对'',内部只能写一个字符 char c1 ='a'; //编译不通过 //c1='ab'; System.out.println(c1); char c2 ='中'; char c3 ='サ'; char c4 ='щ'; System.out.println(c2); System.out.println(c3); System.out.println(c4); } }
2.转译字符:\n换行,\t制表符
class VariableTest2{ public static void main(String[] args){ char c5 ='\n'; System.out.println("hello"); System.out.println("word"); } }
class VariableTest2{ public static void main(String[] args){ char c5 ='\n'; System.out.println("hello"+c5); System.out.println("word"); } }
class VariableTest2{ public static void main(String[] args){ char c5 ='\t'; System.out.print("hello"+c5); System.out.println("word"); } }
3.直接使用Unicode值('\uXXXX')来表示字符型常量,然后赋值给变量。用的少
class VariableTest2{ public static void main(String[] args){ char c6='\u0043'; System.out.print(c6); } }
必须放一个字符,空格都行
不用双引号,直接赋值,但会把数字按ASCLL码转换为对应的字符
5在ASCLL码表示53
‘5’表示5赋值给C4
布尔类型
①只能取两个值,true或false。
和C语言不一样,C语言0表示false,非0表示true
class VariableTest2{ public static void main(String[] args){ boolean b1=true; System.out.print(b1); } }
②在条件判断和循环结构中使用
class VariableTest2{ public static void main(String[] args){ boolean isMarried = true; if(isMarried){ System.out.println("你就不能参加单身party了!很遗憾"); }else{ System.out.println("你可以多谈谈女朋友!"); } } }
双引号表示字符串,单引号表示字符。 字符串中由多个字符组成
class VariableTest2{ public static void main(String[] args){ boolean isMarried = true; if(isMarried){ System.out.println("你就不能参加单身party了!\n很遗憾"); }else{ System.out.println("你可以多谈谈女朋友!"); } } }
转译
class VariableTest2{ public static void main(String[] args){ boolean isMarried = true; if(isMarried){ System.out.println("你就不能参加单身party了!\\n很遗憾"); }else{ System.out.println("你可以多谈谈女朋友!"); } } }
给字符串的内容加“”双引号
class VariableTest2{ public static void main(String[] args){ boolean isMarried = true; if(isMarried){ System.out.println("你就不能参加\"单身party\"了!\\n很遗憾"); }else{ System.out.println("你可以多谈谈女朋友!"); } } }
引用数据类型
string类型
①属于引用数据类型(翻译为:字符串)
②声明string类型的变量时,用 " "
③string类型的字符串可以存放0个到任意个字符(不能超出内存)
④string可以8种数据类型做运算(包括Boolean),但只能是连接运算。符号+(string类型的变量参与运算就是做连接运算)。运算的结果任然是string类型
双引号表示字符串,单引号表示字符。 字符串中由多个字符组成
第二个因为是字符做运算,所以输出93
第三个因为和字符串做运算,所以输出和第一个一样
第四个因为加法按顺序算,所以先输出字符*和\t的和,再和字符串做运算所以输出51*
第五个先算小括号里的,因为字符和字符串做运算所以是连接运算,所以输出和第一 一样
用一个包装类Integer里面的方法parseInt(),把字符串转为int类型的值
按照声明位置不同分类
今天比昨天晚,却比明天早