- 命名规范
- 变量的定义
- 数据类型
- 变量的分类
- 浮点型
- 字符型
- 布尔型
- 基本数据类型转换
- 1.自动类型提升:
- 2.强制类型转换:
- 字符串类型:string
- 练习题1.0
- 练习题2.0
- 练习题3.0
- 练习题4.0
- 其它
定义变量格式: 数据类型 变量名= 变量值
1.先声明后使用
2.变量都定义在作用域内。在作用域内他是有效的,出了作用域就失效了
3.同一个作用域内不可以声明相同的两个变量
ps(整型):
- byte范围:-128~127
- 声明long型变量,必须以“l”或者”L“结尾
- 通常定义整型变量时用int
ps(浮点型):
- float类型变量的定义,要以“f”或“F”结尾(浮点类型默认是double,但是由于float类型和double类型在内存中的二进制表现形式不同,不能像整形那样有时会默认转换,必须要确定类型,带上f)
ps(字符型):
- 定义char变量,通常使用一对 ‘ ’,内部只能写一个字符(1字符=2字节)
- 表述方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量
- 只能取true或者false
前提:只针对七种基本数据类型,不包括boolean。
1.自动类型提升: 容量小的数据类型和容量大的数据类型做运算时,结果手动提升为容量大的数据类型
特别的:当byte、char、short三种类型做运算时,结果为int型
2.强制类型转换:自动类型提升的逆运算
说明:此时的容量大小,表示数的范围的大和小。比如,float容量大于long的容量
例子:
public class day03 { public static void main(String[] args) { byte b1 = 2; int b2 = 12; int a = b1+b2;//低级和高级的做运算,往高级的靠 System.out.println(a); //2.强制类型转换 //注意点:需要使用强转符,可能导致精度损失 double c1 = 12.3; int i1=(int)c1;//截断操作 System.out.println(i1); long l1 =123; short s2 =(byte)l1; System.out.println(s2);//没有精度损失 int i2 = 128; byte b =(byte)i2; System.out.println(b);//-128 } }字符串类型:string
- String不是基本数据类型,属于引用数据类型 ,字符串
- 声明string变量时,用一对双引号(“ ”)
- 使用方式与基本数据类型一致。例如:String str = “abcd”
- string可以和八种基本数据做运算,且运算只能为连接运算
- char里面有且仅能放一个字符,而string长度没有限制,char用单引号,string用双引号
- 一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如: str = str + “xyz” ; int n = 100; str = str + n
public class day05 { public static void main(String[] args) { //练习题1 char c ='a';//a的ASCII码是97 int num = 10; String str = "hello"; System.out.println(c + num + str); System.out.println(c + str + num); System.out.println(c + (num + str)); System.out.println((c + num) + str); System.out.println(str + num +c); } }练习题2.0
public class day06 { public static void main(String[] args) { //练习题2 //输出 * * //注意:考虑string是做运算还是做链接 System.out.println("* *"); System.out.println('*'+ 't' + '*'); System.out.println('*'+"t"+'*'); System.out.println('*'+'t'+"*"); System.out.println('*' +('t'+"*")); } }练习题3.0
String str1 = 4; //判断对错:no String str2 = 3.5f + “”; //判断str2对错:yes System.out.println(str2); //输出:”3.5” System.out .println(3+4+“Hello!”); //输出:7Hello! System.out.println(“Hello!”+3+4); //输出:Hello!34 System.out.println(‘a’+1+“Hello!”); //输出:98Hello! System.out.println(“Hello”+‘a’+1); //输出:Helloa1练习题4.0
short s = 5; s = s-2; //判断:no byte b = 3; b = b + 4; //判断:no b = (byte)(b+4); //判断:yes char c = ‘a’; int i = 5; float d = .314F; double result = c+i+d; //判断:yes byte b = 5; short s = 3; short t = s + b; //判断:no其它
- n:换行
- 编码特殊情况:
public class day04 { public static void main(String[] args) { //1.编码情况 long l =1231234; System.out.println(l);//没加l却未报错,因为被认定为int型(自动类型提升) //long l2 =123123123123;//编译失败,过大的整数 long l2 =123123123123L;//加'L' System.out.println(l2); //2.编译失败情况 //float f1 = 12.3;//编译失败,因为大的不能向小的转(必须加f) //3.编译失败情况2:整型常量默认为int型 //浮点型常量默认为double型 byte b = 12; //byte b1 = b + 1;编译失败 //float f1 =b + 12.3;编译失败 } } 情况 //float f1 = 12.3;//编译失败,因为大的不能向小的转(必须加f) //3.编译失败情况2:整型常量默认为int型 //浮点型常量默认为double型 byte b = 12; //byte b1 = b + 1;编译失败 //float f1 =b + 12.3;编译失败 } }