目录
- 2.5 数据类型
- 2.6 变量
- 练习1:采用所有的数据类型,都进行遍历的声明、赋值、使用
- 练习2:采用变量,最终达到的目的,输出个人信息,姓名,年龄,身高,性别,手机号码,学历
- 3、输出语句
- 4、转义符
- 5、进制
- 6、基本数据类型转换
2.5 数据类型
Java是一个强类型的语言,数据的类型区分很详细
基本数据类型:
- 整数数据(4)
byte 1个字节 范围-2^7到2 ^7-1 -128~127
short 2个字节 -2^15到2 ^15-1
int 4个字节 -2^31到2 ^31-1
long 8个字节 -2^63到2 ^63-1
int常用,默认int整数类型。超过int就用long,如果超过long, 使用BigInteger(常用类) - 浮点型数据(2)
float 单精度 4个字节
double 双精度 8个字节 - 字符型数据(1)
char gbk就是两个字节,utf-8就是3个字节 - 布尔型数据(1)
boolean 1个字节
2.6 变量
变量概念:在程序执行过程中,可以发生改变的量
变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。
变量的使用:
a,开辟空间(变量的声明)
变量声明
数据类型 变量名;
注意:在同一作用域(当前大括号)内,不允许有重名的变量名存在(和数据类型无关)
b,赋值(将数据存储在刚刚开辟的空间中)
变量名 = 数据;
long在赋值时,如果数据没有超过int的范围,正常使用,如果超过int的范围,数据后添加L或l
float在赋值的时候,如果是整数ok,如果是小数需要在数据后添加F
char类型,可以赋值0-65535范围内的int值,赋值的是字符的码值
c,使用变量
输出语句
没有初始化(第一次赋值)的变量是不允许使用的
a和b可以合二为一:数据类型 变量名=数据;
数据类型 变量名1=数据1,变量名2=数据2,变量名3=数据3;
总结:本质:变量其实是内存中的一块区域,使用变量名来访问这块区域,区域大小由数据类型来决定。因此,每一个变量使用前先申请这块区域(声明),然后进行填充内容(赋值),才能进行使用。
public class Demo{public static void main(String[] args){byte num;//整型数据,-128至127int i;// int num 不允许的num =100num = 12.5 //数据类型不匹配,要整数num = 200 //报错,超出范围System.out.println(num);System.out.println("num"); //输出num这三个字母}
}
CMD中:
#编译
javac Demo.java
#运行
java Demo
练习1:采用所有的数据类型,都进行遍历的声明、赋值、使用
//练习1:采用所有的数据类型,都进行遍历的声明、赋值、使用!
public class Test1{public static void main(String[] args){byte b1;b1=100;System.out.println(b1)short s1;s1 = 200;System.out.println(s1)int i;i = 100000;System.out.println(i)long l1;l1 = 2000000000l;//long在赋值时,如果数据没有超过int的范围,正常使用,如果超过int的范围,数据后添加L或lSystem.out.println(l1)float f;f=1.5F;//float在赋值的时候,如果是整数ok,如果是小数需要在数据后添加FSystem.out.println(f);double d;d = 23.45;System.out.println(d);char c=97;//97是aSystem.out.println(c);boolean flag=true;//只能赋值true或者falseSystem.out.println(falg);String name = 'tom';String str1=null //str1为空String str2=""//str2为空串String str1="null" //str3为字符串int a,b,c;//abc都是int}
}
练习2:采用变量,最终达到的目的,输出个人信息,姓名,年龄,身高,性别,手机号码,学历
public class Test2{public static void main(String[] args){String name = 'tom';int age=18;double height=175.5;char gender='男';String phone='110';string xueli='本科';System.out.println(name);System.out.println(age);System.out.println(height);System.out.println(gender);System.out.println(phone);System.out.println(xueli);}
}
3、输出语句
System.out.println(); //在输出内容中自带换行----不报错
System.out.print(); //没有换行-----编译报错
//带换行的输出中可以不写任何内容,但不带换行的输出中必须写内容
4、转义符
\ 反斜杠
/ 斜杠
\n 换行,写在字符串内
System.out.print(“你好\n世界”);
" 普通的双引号,不会被识别为字符串的标识
\t 一个制表位(tab),占四个汉字的空间或8个字母或数字的空间
\ 普通的斜杠
public class Demo{public static void main(String[] args){System.out.println(" d");//输出: d(8个空格一个d)System.out.println("\td"); //输出: d(8个空格一个d)System.out.println("a d");//输出:a d(a+8个空格+d)System.out.println("a\td"); //输出:a d(a+7个空格+d,即a占了8个空格中的一个)System.out.println("abcdabc\td"); //输出:abcdabc d(abcdabc+1个空格+d)System.out.println("abcdabcda\td"); //输出:abcdabcda d(abcdabcda+7个空格+d)往后主动补一个\t}
}
5、进制
二进制 逢二进一(计算机的世界)
八进制
十进制
十六进制
0 1 2 3 4 5 6 7 8 9 A B C D E F 10…
十进制–>二进制:依次做除法运算,要余数的倒序
二进制中:最高位为符号位0为正数,1为负数
10 — > 0000 1010
-10 —> 1000 1010
- 十进制转二进制,算法需要掌握
- -128特殊的值 是1000 0000
二进制 —> 十进制
10110 —>22
2 ^ 4 *1 + 2 ^ 3 *0 + 2 ^ 2 *1 + 2 ^ 1 1 + 2^00 = 22
6、基本数据类型转换
自动转化(小-大)
byte b=10;
int i=b;//自动转化
强制转化(大->小)
int i=10;