重生之跟着韩老师学Java之变量

变量概念

变量三个基本要素(类型+名称+值)

int a = 100; //定义了一个变量,类型:int整形, 名称:a, 值: 100
//案列:输出个人信息
public class Var01{
	//定义一个main方法
	public static void main(String[] args){
		int a = 98;
		double b = 4.5;
		char gender = '男';
		String name = "卡卡罗特";
		//output
		System.out.println(a);
		System.out.println(b);
		System.out.println(gender);
		System.out.println(name);
	}
}

注意:String类型要用双引号”“。

程序中 +号 的使用

1. 左右两边都是数值型时,做加法运算

2.左右两边有一边是字符串时,做拼接运算

3. 运算顺序,是从左到右(注意第三个和第四个的区别)

Java数据类型

注:string在Java中不是基本数据类型,属于类(class)的一种 

整数类型

1. Java各整数类型有固定的范围和字段长度,不受具体os(操作系统)影响,以保证Java程序的可移植性。

2. Java的整数类型默认是int型,声明long类型常量后面要加’l‘ 或 'L'

浮点类型

单精度float(4字节) 双精度double(8字节)

1. 浮点数在机器中存放形式: 浮点数 = 符号位 + 指数位 + 尾数位

2. 尾数部分可能丢失,造成精度损失(小数都是近似值)

3. Java的浮点数类型默认是double型,声明float型常量时须在后面加’f' 或 'F'

4. 0.56 等价于 .56        

5. System.out.println(5.16e2) 得到 516.0   , 因为5.16是double型,经运算后还是double型,所以小数点保留

浮点数使用陷阱

2.7 与 8.1 / 3 的比较

double num1 = 2.7;
double num2 = 8.1 / 3;

System.out.println(num1); //2.7
System.out.println(num2); //接近2.7的一个小数,而不是2.7

输出num1为 2.7        输出num2 为 2.699999999999997

 

得到一个 重要的使用点:当我们对运算结果是小数的进行相等判断时,要小心

字符型使用 

char 的使用

        

细节:

1. 字符常量是用单引号(‘ ’)括起来的单个字符。 char c1 = 'a' ;  (双引号表示字符串,)

2. Java中还允许使用转义字符 '\' 来将其后的字符转变为特殊字符型常量。

3. 在Java中,char的本质是一个整数,在输出时,输出对应的Unicode字符 。

(1)System.out.println('a' + 10); // 107, , ,   在这里,‘a’相当于一个整数,进行运算

(2)char c5 = 'b' + 1;

         System.out.println(c5); // 99对应的字符c(ASCII),因为上面进行了char声明。

         System.out.println((int)c5); //99

字符编码介绍

1. ASCII编码是最初使用的,用一个字节表示128种字符

2. Unicode编码增加了其他语言文字,字母和汉字统一都是占用两个字节(浪费空间)

3. utf-8,优化,字母使用一个字节,汉字两个字节。

布尔类型

boolean类型。boolean类型只允许取true和false,无null,并且不同于其他语言,Java中的布尔类型也无法取 0 或 非0 .

基本数据类型转换

自动类型转换

1. 当Java程序进行赋值运算时,精度小的类型会自动向精度大的类型转换,这是自动类型转换

2. 数据类型精度排序,从左至右(从小到大):

 细节1:

int n1 = 10; //ok
float n2 = n1 + 1.1; //错误,1.1为double类型,运算结果是double
float n2 = n1 + 1.1F; //对,1.1F为float类型
double n2 = n1 + 1.1; //对

(byte, short) 和 char 之间不会自动转换。

当把具体数值赋给byte 时,先判断是否在byte 范围内,如果是,就可以赋值

byte a = 10; 正确

细节2:

byte,short,char类型间进行运算,不管是不同类型之间还是相同类型之间,都会先转换成int类型

强制类型转换

将容量大的数据类型转换成容量小的数据类型。

案例:

int i = (int)1.9; //强制将double类型转换成整型int
System.out.println(i);//输出1

细节1:

强转符号遵守就近原则:

int x = (int)1.9 * 5 + 2.0; // 仅仅将1.9转换了

int x = (int)(1.9 * 5 + 2.0); // 将11.5转换为11

细节2:

char类型可以保存int常量,不能保存int变量,需强转。

String和基本类型转换

1. 基本类型转String类型:将基本类型的值+""即可

        int a = 10;
		float b = 2.5F;
		double c = 123.45;
		boolean d = true;

		String a1 = a + "";
		String b1 = b +"";
		String c1 = c +"";
		String d1 = d +"";

		System.out.println(a1);
		System.out.println(b1);
		System.out.println(c1);
		System.out.println(d1);

2. String类型转基本类型:调用包装类parseXX方法

3. String转char: xx.charAt(下标);

String str = "520";
System.out.println(str.charAt(0)); //5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值