布尔类型

  1. 也叫Boolean类型,boolean只允许取true和false。
  2. boolean占一个字节。
  3. 适用于逻辑运算,流程控制语句。
  4. 有默认类型,是false。但是应该声明为成员变量或是静态变量,如果在方法体中(如main)不会自动赋值。

  5. 不能使用0或非0的整数代替false和true。这点和C不同。

public class Javaday6 {//默认值为falsestatic boolean b;public static void main(String args[]){//没有默认值boolean a;System.out.println(b);}
}

基本数据类型转换

自动类型转换:在Java程序在进行赋值和运算时,精度小的类型自动转换为精度大的类型。

箭头方向从小到大

自动类型转换

  1. 有多种类型的数据混合运算时,系统会将所有数据的数据类型 转换为容量最大的那个数据类型再进行运算。
  2. 当容量大的数据类型赋值给容量小的数据类型时,会产生异常。反之则自动转换。
  3. (byte、short)和char之间不会相互自动转换。所以char的自动转换开辟了一条新路...
  4. byte、short、char 三者进行计算时,系统首先转换成int类型。
  5. boolean不参与自动转换。
  6. 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。
//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;//正确}
}

强制类型转换

介绍:自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成数据的精度丢失和溢出。

注意:

  1. 强转符号只对最近的操作数有效,可以使用小括号提升优先级。
  2. char类型可以保存int的常量值,但不能保存int的变量值,需要强转。(char a = 100; 是正确的,但 int a = 100; char b = a; 错误,需要强制转换)
  3. 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型

语法:将基本数据类型的值加上 "" 即可。

//基本数据类型转String
public 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 =30
num5 =8

Java学习(4)—— 布尔类型、基本数据类型转换、基本数据类型和String类型的转换相关推荐

  1. JAVA基本数据类型和String类型的转换

    1.基本类型转String类型 语法:将基本类型的值+"" 即可,如下图 编译运行结果: 2.String类型转基本数据类型 语法:通过基本类型的包装类调用parseXX方法即可, ...

  2. Java基本数据类型和String类型的转化

    基本数据类型转String类型只需要 + ""即可,如下 public static void main(String[] args) {int n1 = 100;float n2 ...

  3. MongoDB查询时排序字段为int类型和string类型的区别

    最近在开发中遇到一个mongo查询排序的问题,项目中一些高频访问的热数据是放在mongoDB里的,mongo支持很多像SQL一样的操作比如sort就对应于SQL的order by. 比方我们有一个集合 ...

  4. [转载] Python中int类型和string类型的相互转换

    参考链接: Python类型转换和类型转换 1.字符串转换成int a = '10' int(a) //十进制string转化为int, 10int(a, 16) //十六进制string转化为int ...

  5. java学习笔记(13) 第13章 - 常用类

    第13 章常用类-目录 13.1 包装类 13.1.1 包装类的分类.包装类和基本数据的转换.案例演示.课堂测试 13.1.2 包装类型和String 类型的相互转换 13.1.3 Integer 类 ...

  6. 基本数据类型和String相加结果一定是字符串型

    今天见到一道选择题有一选项为基本数据类型和String相加结果一定是字符串型,例如: 输出结果为: 确实是这样,那么原理是什么呢? 在我们把一个基本数据类型和一个String类型相加的时候,编译器会将 ...

  7. (Redis_学习一)Redis关于string类型和hash类型数据操作

    Redis关于string类型和hash类型数据操作 set name xiaohongyang // get name setnx name xiaohy get name setex name 1 ...

  8. Python中float类型、float32类型和float64类型的表示精度,所需内存及其之间的转换

    1. 表示精度和所需内存 float类型和float64类型是一样的,都需要64个bits,而float32需要32个bits. 精度方面,float类型和float64类型在十进制中可以有16位,而 ...

  9. float类型和long类型那个取值范围更大

    float类型和long类型那个取值范围更大 首先我们先来看看一段代码 float(单精度):它属于数字型中的浮点型,在Java中占4个字节.32个bit,取值范围为3.4E-038~3.4E+038 ...

最新文章

  1. 【分块】#6283. 数列分块入门 7(区间乘法、区间加法、单点查询)
  2. qq应用之超级店长数据分析
  3. 来自开发者的点赞!网易云信揽获3大技术奖项
  4. python 中 feedparser的简单用法
  5. java中int转成String位数不足前面补零 java格式化2位数不足补零
  6. can't select mysql database_ERROR 1006 (HY000) Can't create database (errno: 13) MySQL 5.6.12
  7. openfiledialog选择文件会占用文件_铁皮文件柜的尺寸规格如何选择?选购花都文件柜要注意的问题...
  8. Docker 架构原理剖析,万字详解!
  9. Grasshopper and Rhino: Python Scripting Grasshopper和Rhino:Python脚本 Lynda课程中文字幕
  10. 论文查重 降重复度?如何进行毕业论文查重--总结贴
  11. 完全删除conime.exe
  12. 如何生成一个APP_ID
  13. STM32F103硬件SPI驱动ADS1256
  14. 欧姆龙服务器数码管不显示问题,数显仪表常见故障的原理分析以及解决方案
  15. 投资是一个非常专业的领域,亏钱容易赚钱难
  16. 【webrtc0419 点对点视频聊天功能】
  17. 洞见科技解决方案总监薛婧:联邦学习助力数据要素安全流通
  18. 数据结构——王卓老师
  19. 人工势场算法 Matlab版源码
  20. 很励志的故事(尸山代码)

热门文章

  1. 【Linux】linux的vim文件怎么全选复制、粘贴
  2. 数据结构(C语言严版)总结
  3. 【c】c语言中逗号运算符和逗号表达式
  4. js 定时器的开启与关闭
  5. Problem--133A--Codeforces--A. HQ9+
  6. input file 上传图片及压缩
  7. git 打patch的方法
  8. 删除win10系统默认微软输入法
  9. 如何查看国内sci期刊有哪些
  10. 计算机中文核心期刊哪个快,计算机中文核心期刊要多久cpci加急,又快又水的sci期刊...