网站首页 > java教程 正文
1.ava语言基础(数据类型转换之强制转换)(掌握)
A:强制转换问题
- int a = 10;
- byte b = 20;
- b = a + b;
B:强制转换的格式
- b = (byte)(a + b);
C:强制转换的注意事项
- 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
2.面试题之变量相加和常量相加的区别
A:案例演示
- 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
- byte b1 = 3;
- byte b2 = 4;
- byte b3 = b1 + b2;
- 从两方面去回答这个题
- b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值(假设b1=126,b2=4)
- byte类型的变量在进行运算的时候,会自动类型提升为int类型
- byte b4 = 3 + 4;
- 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
3.long与float的取值范围谁大谁小
进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
- byte,short,char -- int -- long -- float -- double(从大到小)
- long: 8个字节
- float:4个字节
- IEEE754
- 4个字节是32个二进制位
- 1位是符号位(0表示正数,1表示负数)
- 8位是指数位
- 00000000 11111111
- 0到255
- 1到254
- -126到127
- 23位是尾数位
- 每个指数位减去127
A:它们底层的存储结构不同。
B:float表示的数据范围比long的范围要大
- long:2^63-1
- float:3.410^38 > 210^38 > 2*8^38 = 22^3^38 = 22^114 > 2^63-1
3.字符和字符串参与运算
A:案例演示
- System.out.println('a');//97 原由是自动类型转换成int类型,和Ascll码表对应
- System.out.println('a'+1);//98
- 通过看结果知道'a'的值是多少,由此引出ASCII码表
B:ASCII码表的概述
- 记住三个值:
- '0' 48
- 'A' 65
- 'a' 97
C:案例演示
- System.out.println("hello"+'a'+1);//结果:helloa1
- System.out.println('a'+1+"hello");//结果:98hello
- D:+在有字符串参与中被称为字符串连接符
- System.out.println("5+5="+5+5);//结果:5+5=55
- System.out.println("5+5="+(5+5));//结果:5+5=10
- System.out.println(5+5+"=5+5");结果:10=5+5
4.Java语言基础(char数据类型)(掌握)
A:char c = 97;char类型的取值范围是:0到65535
B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
- 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
- 所以,Java中的字符可以存储一个中文汉字
5.Java语言基础(算术运算符的基本用法)(掌握)
A:什么是运算符
- 就是对常量和变量进行操作的符号。
B:运算符的分类
- 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
C:算数运算符有哪些
- +,-,*,/,%,++,--
D:注意事项:
- a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
- b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
- c:/获取的是除法操作的商,%获取的是除法操作的余数
- %运算符
- 当左边的绝对值小于右边绝对值时,结果是左边
- 当左边的绝对值等于右边或是右边的倍数时,结果是0
- 当左边的绝对值大于右边绝对值时,结果是余数
- %运算符结果的符号只和左边有关系,与右边无关
- 任何一个正整数%2结果不是0就是1可以用来当作切换条件
明天更新:1.算术运算符++和--的用法,2.赋值运算符的面试题,3.关系运算符的基本用法及其注意事项等。
希望大家多多关注,和评论……谢谢
猜你喜欢
- 2024-10-24 Bigo的Java面试,我挂在了第三轮技术面上...
- 2024-10-24 纯干货|盘点Java常见的30个误区与细节
- 2024-10-24 JAVA中红黑树(javahashmap红黑树)
- 2024-10-24 一文让你理解java中的类加载器(java类加载器的作用)
- 2024-10-24 初识java—(三十五)Math类、Random类和BigDecimal类
- 2024-10-24 Java高级进阶-从计算机底层解析左移、右移、无符号右移
- 2024-10-24 终于有人把Git最火Java全套详细笔记(吐血放出)资料给分享出来了
- 2024-10-24 【算法题】1749. 任意子数组和的绝对值的最大值
- 2024-10-24 Java 的流程控制是什么样子的(java中的流程控制语句有哪些)
- 2024-10-24 Java常用内置函数(java内部类怎么调用)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)