数据溢出

当定义一个变量的值超过该变量类型的范围时会导致数据溢出,编译都无法通过

public class TestJava{

public static void main(String args[]){

int n=99999999999999999999999999999999;

}

}

Integer(int最大范围)的最大值

public class TestJava{

public static void main(String args[]){

int n=Integer.MAX_VALUE;

System.out.print(n);

}

}

最大值加1是最小值,再加1就是次小值依此类推

public class TestJava{

public static void main(String args[]){

int n=Integer.MAX_VALUE;

System.out.println(n+1);

System.out.println(n+2);

}

}

用长整型强制转换可以解决最大值加1就是最小值的问题

public class TestJava{

public static void main(String args[]){

int n=Integer.MAX_VALUE;

System.out.println((long)n+2);

}

}

字符的本质也是数值(ascill码),所以字符不仅仅单双引号进行定义,只要是char类型,则也可以用数值代替

public class TestJava{

public static void main(String args[]){

char ch1='a';

char ch2=97;

System.out.println(ch1);

System.out.println(ch2);

}

}

转义字符

public class TestJava{

public static void main(String args[]){

char ch1='\"';

char ch2='\\';

System.out.println(ch1);

System.out.println(ch2);

}

}

定义浮点型数据要指定精度,否则默认精度会有默认转换的情况损失精度

这里定义浮点型3.0,那么也就是说要的是float的目的数据,而默认是double,double转换到float是会损失精度的。

public class TestJava{

public static void main(String args[]){

float num=3.0;

}

}

指定精度后就没有问题了

public class TestJava{

public static void main(String args[]){

float num=3.0f;

}

}

布尔类型

public class TestJava{

public static void main(String args[]){

boolean flag=true;

System.out.print(flag);

}

}

自动转型

这里整数除以浮点型最后的结果自动转换为浮点型了。

public class TestJava{

public static void main(String args[]){

int x=30;

float y=22.19f;

System.out.print(x/y);

}

}

public class TestJava{

public static void main(String args[]){

System.out.print(10/3.5);

}

}

整型相除问题

这里相除的结果很明显损失了精度

public class TestJava{

public static void main(String args[]){

System.out.print(10/3);

}

}

用强转float可以解决该问题

public class TestJava{

public static void main(String args[]){

System.out.print((float)10/3);

}

}

字符串与int的运算

public class TestJava{

public static void main(String args[]){

String str="gaojiupan";

int x=30;

str=str+x;

System.out.print(str);

}

}

上面这是正常情况,再看一个比较异常的情况

public class TestJava{

public static void main(String args[]){

System.out.print("1+2="+1+2);

}

}

这种情况是字符串直接进行追加了,没有把后面两个先计算再追加,像是下面这样就好了

public class TestJava{

public static void main(String args[]){

System.out.print("1+2="+(1+2));

}

}

强制类型转换丢失精度

public class TestJava{

public static void main(String args[]){

float f=30.3f;

int x=(int)f;

System.out.print(x);

}

}

float类型转integer_【第3章:Java基础程序设计】_Java数据类型相关推荐

  1. [Spring 深度解析]第1章 Java基础

    第1章 ◄Java基础► 在学习Spring之前我们需要对Java基础语法有一定的了解,Java中最重要的两个知识点是注解和反射.注解和反射在Spring框架中应用的最广泛.掌握注解和反射,有助于后面 ...

  2. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

  3. JavaSE入门0基础笔记 第二章Java基础语法

    JavaSE入门0基础笔记 第二章Java基础语法 1.运算符 1.1算术运算符 1.1.1运算符和表达式 1.1.2 算术运算符 1.1.3字符的"+"操作 1.1.4 字符串中 ...

  4. JavaSE_第2章 Java基础语法

    JavaSE_第2章 Java基础语法 今日内容 数据类型 运算符 学习目标 了解进制 理解基本数据类型的自动类型转换 理解基本数据类型的强制类型转换 了解ASCII编码表和Unicode编码表 理解 ...

  5. 第2章 Java基础语法

    JavaSE_第2章 Java基础语法 学习目标 会使用单行注释和多行注释 能够辨识关键字 理解标识符的含义,正确定义标识符 理解Java中的基本数据类型分类 能够理解常量的概念 能够定义8种基本数据 ...

  6. 第 2 章 Java 基础

    第 2 章 Java 基础 1.58 同城 java 字符串常量池 1.1.面试题代码 代码 /*** @ClassName StringPool58Demo* @Description TODO* ...

  7. 第一章-----Java基础入门(项目名称使用小驼峰命名)

    一.java简介 1.1 前言 Java语言是美国Sun公司(stanford University Network),在1995年推出的高级编程语言.所谓编程语言是计算机的语言,人们可以使用编程语言 ...

  8. java基础笔试_java基础笔试题

    Java基础知识测试 共40道选择题,每题2.5分.多选题有错则全错,全对才满分. 单选题: 1. 下列哪个声明是错误的?(b) A. int i=10; B. float f=1.1; C. dou ...

  9. java基础变量_Java基础语法之变量和常量

    上行没有"{"时,下行代码与上行首字母对齐 标识符 概述 在Java中对变量.常量.函数和语句块都是有名字的,他们的名字统称为Java标识符.是为类.对象.方法.变量.接口和自定义 ...

  10. java基础应用_Java基础(应用篇)

    1.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?2.String str="i"与 String str=new String(&quo ...

最新文章

  1. 水下图像处理算法Sea-thru
  2. 元宇宙这把火开始烧向打工人
  3. linux iptables原理详解及使用说明
  4. python计算圆面积保留两位数_python中怎么实现保留两位小数
  5. GDCM:gdcm::File的测试程序
  6. java 类一定要声明成public_类和对象练习题
  7. 程序员面试金典 - 面试题 17.22. 单词转换(BFS)
  8. 爱可生 mysql监控_MySQL 数据传输DTLE 最新版来啦-爱可生
  9. python将csv文件拆分_在python中将一个csv拆分为多个文件
  10. go基于grpc构建微服务框架-集成opentracing
  11. 关于RedisTemplate和StringRedisTemplate
  12. (1)GO数据库存储结构详解(从数据库构建角度解析)
  13. 将BC26连接至OneNET平台
  14. java dateutil 获取时间戳_java获取时间戳的方法
  15. c4d打开没反应_野分享:一大波C4D插件的测试以及分享
  16. python 协程是啥_Python中的协程是什么
  17. 在Windows本地安装ElasticSearch和Kibana
  18. 基础测绘1:10000成果检验需注意的问题
  19. 如何在bat文件中切换盘符并执行命令
  20. vue 3 + mo.js 实现点赞粒子特效【实战】

热门文章

  1. 沙盒机制和应用程序目录
  2. jsp中的四种对象作用域
  3. debian mysql中文乱码_MySQL中文乱码的解决方法汇总
  4. 无人驾驶(再谈基于camera的高精度地图)
  5. linux下的C语言开发(进程等待)
  6. fastjson list转json字符串_从fastjson转jackson的血泪史
  7. 上海电力学院计算机软件技术大作业,计算机网络应用设计 大作业报告.doc
  8. oracle+技术面试,Oracle技术面试问题
  9. 我的计算机无法共享,我的电脑共享了文件夹,但是其他电脑不能访问
  10. Python 列表 append()函数使用详解