文章目录
命名规范
变量的定义
定义变量格式: 数据类型 变量名= 变量值
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的容量
例子:
publicclass day03 {publicstaticvoidmain(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
练习题1.0
publicclass day05 {publicstaticvoidmain(String[] args){//练习题1char c ='a';//a的ASCII码是97int 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);}}/*
编译结果:(注意运算顺序和运算时候的数据类型)
107hello
ahello10
a10hello
107hello
hello10a
*/
练习题2.0
publicclass day06 {publicstaticvoidmain(String[] args){//练习题2//输出 * *//注意:考虑string是做运算还是做链接System.out.println("* *");System.out.println('*'+'\t'+'*');System.out.println('*'+"\t"+'*');System.out.println('*'+'\t'+"*");System.out.println('*'+('\t'+"*"));}}/*
编译结果:(注意string是做运算还是连接)
* *
93
* *
51*
* *
*/
练习题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;编译失败
}
}
版权归原作者 金士曼 所有, 如有侵权,请联系我们删除。