-
一、变量
-
1.什么是变量
-
2.定义变量的格式
-
3.定义变量时的注意事项
-
-
二、数据类型
-
1.基本数据类型
-
2.引用数据类型
-
3.关于数据类型的注意事项
目录
-
一、变量
1.什么是变量。
变量是指在程序的执行过程中,其值可以发生改变的量叫变量
2.定义变量的格式。
第一种是 数据类型 变量名 = 初始化值;
第二种是 数据类型 变量名;
变量名 = 初始化值;
3.定义变量时的注意事项。
①、作用域:变量在同一个大括号内有效,出了大括号外无效。
②、相同的作用域中不能定义两个同名变量。
③、没有初始化值不能直接使用,在使用之前赋值即可
④、不建议在一行上定义多个变量,强制定义一个变量为一行。
二、数据类型
1.基本数据类型
整数类型 占用字节数 可表示的范围 byte 1 -2^7 ~ 2^7-1 short 2 -2^15 ~ 2^15-1 int 4 -2^31 ~ 2^31-1 long 8 -2^63 ~ 2^63-1 浮点类型 float 4 -3.403*10^38 ~ 3.403*10^38 double 8 -1.798*10^308 ~ 1.798*10^308 字符型 char 2 布尔型 boolean 1
2.引用数据类型(后补)
3.关于数据类型的注意事项
①,Boolean类型的值不能赋值给其他数据类型;默认转换是byte、short、char-int--long-float-double;byte、short和char互相转换时,他们参与运算首先转换成int型。
强制转换类型:目标数据类型 目标变量名 = (目标数据类型) 要进行赋值变量。[ps:不建议大量使用强制类型转换,可能会损失精度。]
②,关于字符型的运算:字符参与算术运算时,会将字符转换为ascll码表中的值参与运算。建议记住的几个ASCLL码,‘0’=48 ‘A’=65 ‘a’=97。
package com.study.gss.day03;
/*
System.out.println(‘a’);
System.out.println(‘a’+1);
代码格式化的快捷键:ctrl+alt+L
ASCII码表必须记住的三个字符对应的值:
'0' 48
'A' 65
'a' 97
*/
public class DataTypeDemo6 {
public static void main(String[] args) {
System.out.println('a');
//字符参与算术运算的时候,会将字符转化成对应的ASCII码表中的值参与运算
System.out.println('c' + 1); // 100
}
}
③,+号的用法。
package com.study.gss.day03;
/*
System.out.println(“hello”+’a’+1);
System.out.println(‘a’+1+”hello”);
System.out.println(“5+5=”+5+5);
System.out.println(5+5+”=5+5”);
+号的用法:
1、当加号两边都是数字或者是数字和字符的时候,这时候的+号做的是加法运算
2、当加号两边其中是字符串的时候,做的是字符串拼接,拼接后是一个新的字符串
3、字符串与任何数值做加法,做的是字符串拼接,拼接后是一个新的字符串
*/
public class DataTypeDemo7 {
public static void main(String[] args) {
System.out.println("hello"+'a'+1); // helloa1
System.out.println('a'+1+"hello"); // 98hello
System.out.println("5+5="+5+5); // 5+5=55
System.out.println(5+5+"=5+5"); // 10=5+5
//System.out.println("5+5="+5+5); // 5+5=55 我就想先计算后面的5+5怎么办?
//小括号可以改变运算的顺序优先级
System.out.println("5+5="+(5+5));
}
}
question1。(byte、short和char他们在进行运算时,会自动转换为int类型)
/*
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
变量相加和常量相加不一样:
1、变量相加首先会提升数据类型,然后再相加赋值,如果接收的数据类型范围小于计算结果后的数据类型范围,报错,不能赋值
2、常量相加,会先进行计算,计算完后看看在不在接收的数据类型范围内,如果在,直接赋值,如果不在,报错。
*/
public class DataTypeDemo4 {
public static void main(String[] args) {
// int a = 3;
// byte b = 4;
// int c1 = a + b;
//
// byte c2 = (byte)(a + b);
// System.out.println(c2);
byte b1=3,b2=4,b;
// b=b1+b2;
b=(byte)(b1+b2);
b=3+4;
}
}