布尔类型
也叫Boolean类型,boolean只允许取true和false。boolean占一个字节。适用于逻辑运算,流程控制语句。有默认类型,是false。但是应该声明为成员变量或是静态变量,如果在方法体中(如main)不会自动赋值。
不能使用0或非0的整数代替false和true。这点和C不同。
public class Javaday6 {//默认值为falsestatic boolean b;public static void main(String args[]){//没有默认值boolean a;System.out.println(b);}}
基本数据类型转换
自动类型转换:在Java程序在进行赋值和运算时,精度小的类型自动转换为精度大的类型。
自动类型转换
有多种类型的数据混合运算时,系统会将所有数据的数据类型 转换为容量最大的那个数据类型再进行运算。当容量大的数据类型赋值给容量小的数据类型时,会产生异常。反之则自动转换。(byte、short)和char之间不会相互自动转换。所以char的自动转换开辟了一条新路...byte、short、char 三者进行计算时,系统首先转换成int类型。boolean不参与自动转换。自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。//byte,short,char三者运算时,首先转换为int类型public class javaday7 {public static void main(String args[]){byte a = 1;short b = 2;byte c = 3;short finl = a+b;//报错,结果为intbyte res = a+c;//依旧报错,结果仍为intint res2 = a+b;//正确}}
强制类型转换
介绍:自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成数据的精度丢失和溢出。
注意:
强转符号只对最近的操作数有效,可以使用小括号提升优先级。char类型可以保存int的常量值,但不能保存int的变量值,需要强转。(char a = 100; 是正确的,但 int a = 100; char b = a; 错误,需要强制转换)byte、short、char在进行运算时,当做int类型处理。且byte与byte、short与short、char与char相加结果也为int类型。
//强制类型转换 () 符号class forceconvert{public static void main(String args[]){double a = 4.99;int c = 1999;//强制转换为int类型 精度丢失 小数点后直接舍去int b = (int)a;// b = 4//造成数据溢出byte d = (byte)c;—--------------------------double a = 4.99;//出现异常,10.0依旧为double 只强转了3.5int c = (int)3.5*10.0;//正确做法int c = (int)(3.5*10.0);}}
基本数据类型转换小练习:
//判断是否能通过编译public class javaday8 {public static void main(String args[]){short a = 12;a = a - 7;//错误,7默认为int类型 运算时自动转换为int 结果为int不能赋给shortbyte b = 10;b = b + 3;//错误,同上一题一样 结果为intb = (byte)(b + 3);//正确 进行了强制装换char c = 'a';int d = 16;float e = .314f;double result = c + d + e;//正确,结果化作float类型 double>floatbyte f = 16;short g = 11;short h = f + g;//错误,h的结果为int类型}}
————————————
基本数据类型和String类型的转换
介绍:在程序开发中,我们经常需要将基本数据类型转成String类型。或者将String类型转为基本数据类型,这类转换比较特殊。
基本数据类型转String型
语法:将基本数据类型的值加上 "" 即可。
//基本数据类型转Stringpublic class javaday9 {public static void main(String args[]){int a = 22;short b = 18;String c = a + "";System.out.println(b+"xmj");}}
String类型转换成基本数据类型
语法:通过调用基本数据类型对应的包装类的parseXX方法来转换。char比较特殊,只能转换一个字符。 包装类细则查询jdk1.8文档。
//String类型转换为基本数据类型class toString{public static void main(String args[]){String str = "18";String str2 = "asdadasd";int num = 123;int num1 = Integer.parseInt(str);double num2 = Double.parseDouble(str);byte num3 = Byte.parseByte(str);Boolean num4 = Boolean.parseBoolean(str2);//在转为Boolean时 不同于T和F的字符串统一判断为falsechar res = str2.charAt(1);/*1.转换为char时只能转换一个字符2.charAt后的数字代表要转换的下标(这里转换 "s")*/int F = Integer.parseInt(str2);//在运行时会报错}}
注意事项:在将String类型转换为基本数据类型时,要确保String类型能转换为有效的数据,否则程序会报错。例:"hello" 不能转换为 int 类型
小作业
class test1{public static void main(String args[]){int num1;num1 = 13;int num2;num2 = 17;int num3;num3 = num1 + num2;System.out.println("num3 =" + num3);int num4 = 38;int num5 = num4 - num3;System.out.println("num5 =" + num5);}//..两个输出语句不会改变num3和num5的类型!}
//结果num3 =30num5 =8
如果觉得《Java学习(4)—— 布尔类型 基本数据类型转换 基本数据类型和String类型的转换》对你有帮助,请点赞、收藏,并留下你的观点哦!