数据类型转换、运算符、方法入门

本文介绍了Java中自动类型转换和强制类型转换的概念及规则,例如在int和byte相加时自动提升为int类型。同时讲解了ASCII编码、运算符的使用,包括赋值、比较、逻辑和三元运算符。还探讨了方法的定义与调用,以及JShell脚本工具在简化代码测试中的应用。
摘要由CSDN通过智能技术生成

1.1 自动转换

  • 一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型?
int i = 1; 
byte b = 2;

运算结果,变量的类型将是 int 类型,这就是出现了数据类型的自动类型转换现象。

  • 自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型 。
public static void main(String[] args) { 
	int i = 1; 
	byte b = 2; 
	// byte x = b + i; 
	// 报错 //int类型和byte类型运算,结果是int类型 
	int j = b + i; 
	System.out.println(j); 
}

转换规则

  • 范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
  • byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

1.2 强制转换

  • 将 1.5 赋值到 int 类型变量会发生什么?产生编译失败,肯定无法赋值。
    int i = 1.5; // 错误
  • double 类型内存8个字节, int 类型内存4个字节。 1.5 是 double 类型,取值范围大于 int 。可以理解为
    double 是8 升的水壶, int 是4升的水壶,不能把大水壶中的水直接放进小水壶去。
  • 想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。
  • 强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。
  • 转换格式:数据类型 变量名 = (数据类型)被转数据值;
public static void main(String[] args) { 
	//short类型变量,内存中2个字节 
	short s = 1; 
	/*
		出现编译失败 s和1做运算的时候,1是int类型,s会被提升为int类型 s+1后的结果是int类型,将结果在赋值会short类型时发生错误 short内存2个字节,int类型4个字节 必须将int强制转成short才能完成赋值 。
	*/
	s = s + 1//编译失败 
	s = (short)(s+1);//编译成功
 }

强烈注意

  • 浮点转成整数,直接取消小数点,可能造成数据损失精度。
  • int 强制转成 short 砍掉2个字节,可能造成数据丢失。

1.3 ASCII编码

  • 将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII( American Standard Code for Information Interchange 美国标准信息交换码)。
    小贴士
    在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升 为了int类型。char类型内存2个字节,int类型内存4个字节。

2.1 运算符 在这里插入图片描述

public static void main(String[] args) {
	 int i = 1234; 
	 System.out.println(i/1000*1000);//计算结果是1000
}

2.2 赋值运算符

在这里插入图片描述

  • 赋值运算符,就是将符号右边的值,赋给左边的变量。
public static void main(String[] args){ 
	int i = 5; i+=5;//计算方式 i=i+5 变量i先加5,再赋值变量i 
	System.out.println(i); //输出结果是10 
}

2.3 比较运算符

在这里插入图片描述

  • 比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。
public static void main(String[] args) { 
	System.out.println(1==1);//true 
	System.out.println(1<2);//true 
	System.out.println(3>4);//false 
	System.out.println(3<=4);//true 
	System.out.println(3>=4);//false 
	System.out.println(3!=4);//true 
}

2.4 逻辑运算符

在这里插入图片描述

  • 逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false。
public static void main(String[] args) { 
	System.out.println(true && true);//true 
	System.out.println(true && false);//false 
	System.out.println(false && true);//false,右边不计算 
	System.out.println(false || false);//falase 
	System.out.println(false || true);//true 
	System.out.println(true || false);//true,右边不计算 
	System.out.println(!false);//true 
}

2.5 三元运算符

  • 三元运算符格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
  • 三元运算符计算方式:
    布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
    布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
 public static void main(String[] args) { 
	 int i = (1==2 ? 100 : 200); 
	 System.out.println(i);//200 
	 int j = (3<=4 ? 500 : 600); 
	 System.out.println(j);//500 
 }

3.1 方法入门

方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
定义格式

修饰符 返回值类型 方法名 (参数列表){
	 	代码... 
	 	return ;
  }

3.2 方法的调用

方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在 主方法中,直接写要调用的方法名字就可以调用了。

public static void main(String[] args) { 
	//调用定义的方法
	method method(); 
}
//定义方法,被main方法调用 
public static void method() { 
	System.out.println("自己定义的方法,需要被main调用运行"); 
}

3.3 注意事项

  • 方法定义注意事项:
    方法必须定义在一类中方法外
    方法不能定义在另一个方法的里面

4.1 JShell脚本工具

JShell脚本工具是JDK9的新特性:
什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运 行,这个时候可以使用JShell工具。
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值