JAVA学习——布尔类型变量和类型转换

JAVA学习——布尔类型变量和类型转换

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、布尔类型:boolean

  1. 布尔类型数据只允许取值true和false,无null。
  2. boolean类型占用一个字节。
  3. boolean类型适用于逻辑运算,一般用于程序流程控制。
    if 条件控制语句;
    while 循环控制语句;
    do-while 循环控制语句;
    for 循环控制语句
  4. 不可以用0或非0的整数来代替true和false。
public class Boolean01 {
	public static void main(String[] args) {
		boolean ifPass = true;
		if(ifPass == true) {
			System.out.println("考试通过,恭喜~!");
		} else {
			System.out.println("考试没有通过,下次努力~");
		}
	}
}

二、自动类型转换

  1. 介绍:当java程序在进行赋值或运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换
  2. 数据类型按精度(容量)大小排序为:
    在这里插入图片描述
  3. 自动类型转换注意和细节
    ①在有很多类型的数据混合运算时,系统首先自动将所有数据转换为容量最大的那种数据类型,然后再进行计算。
int n1 = 10; //正确,因为默认数字是int型
float d1 = n1 + 1.1; //错误,因为1.1默认是double型
float d1 = n1 + 1.1F; //正确
double d1 = n1 + 1.1; //正确

②当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。(小容量可以放进大容量里,大容量的不可以放进小容量里)
③(byte,short)和 char 之间不会相互自动转换。

byte b1 = 10; //正确,因为byte的范围在-128~127内,因为10在这个范围,故可以.
char c1 = b1; //错误,因为byte不能自动转为char.
/******************/
int n2 = 1;
byte b2 = n2;  //错误,因为int不能转为byte

④byte,short,char 他们三者可以计算,但在计算时会首先转换为int类型。(主要有一个出现就转换为int型)
⑤boolean 不参与转换。
⑥自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。

三、强制类型转换

  1. 介绍:自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或者数据溢出
int n1 = int(1.9);
System.out.println("n1=" + n1);  //输出为n1=1 精度损失
int n2 = 2000;
byte b1 = (byte)n2;
System.out.println("b1=" + b1);  //输出为b1=-48 数据溢出
  1. 使用细节
    ①当进行数据的容量大小从大到小时,就需要用到强制转换。
    ②强制符号只针对最近的操作时有效,往往会使用小括号提升优先级。
int x = (int)10 * 3.5 + 6 * 1.5;//仍然是一个double类型的,没有整个等式数据转换为int类型,会提示编译错误
int x = (int)(10 * 3.5 + 6 * 1.5);//使用小括号后就可以编译通过,最后的结果是int类型的44

③char类型可以保存 int 的常量值,但是不能保存 int 的变量值,需要强转。

char c1 = 100; //正确
int m = 100; //正确
char c2 = m; //错误,因为int类型不能直接自动转换为char类型,属于大容量的转为小容量的,不能自动转换,需要强制转换
char c3 = char(m); //正确,加了强制类型转换符号()

④byte 和 short ,char 类型在进行运算时,当作int类型处理。

byte b = 16;//ok
short s = 14;//ok
short t = b + s;//错误,因为byte、short、char类型在进行运算时,是当做int类型处理的,结果为int,不能自动转换为short类型
short t = (short)(b + s);//强制类型转换ok

四、基本数据类型和String类型的转换

  1. 介绍:在程序开发中,我们经常需要将基本数据类型转换成String字符串类型,或者将String类型转换成基本数据类型。
  2. 基本数据类型转 String 类型
    语法:将基本类型的值 + " "即可。
int n1 = 100;
float n2 = 1,1f;
double n3 = 3.4;
boolean b1 true;
char c1 = 'li';
String str1 = n1 + "";
String str2 = n2 + "";
String str3 = n3 + "";
String str4 = b1 + "";
String str5 = c1 + "";
  1. String类型转基本数据类型
    语法:通过基本数据类型的包装类调用parseXX方法即可。
    字符串转成字符:在计算机中的含义是,把字符串的第一个字符取出
//解读:使用基本数据类型对应的包装类的相应方法得到基本数据类型
int num1 = Integer.parseInt("123");//将字符串"123"转换为int类型123
double num2 = Double.parseDouble("123");
float num3 = Float.parseFloat("123.45");
short num4 = Short.parseShort("12");
long num5 = Long.parseLong("12");
boolean num6 = Boolean.parseBoolean("true");
byte num7 = Byte.parseByte("12");
 
//对于字符类型char来说,若有一个字符串S5
String s5 = "123";
char num8 = S5.charAt(0)//可得到S5字符串的第一个字符'1'
  1. 注意事项
    ①在将Srting类型转换为基本数据类型时,要保证String类型能够转换成有效的数据,比如:我们可以把"123"转成一个整数,但是不能把"hello"转成一个整数。
    ②如果格式不正确,就会抛出异常(理解成一个错误),程序就会终止。这个问题在异常处理章节中会处理。
String str = "123";
//转成int
int n1 = Integer.parseInt(str);//可以编译通过并正确执行
String str2 = "hello";
int n2 = Integer.parseInt(str2);//编译可以通过,但执行终止,抛出异常exception

在这里插入图片描述

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值