【Java学习Day09】Java知识点及面试题微讲
2024-10-21 13:09:06
Java知识点及面试题
整数拓展
- 进制
- 二进制0b
- 八进制0
- 十进制
- 十六进制0x
public class Demo03 {
public static void main(String[] args) {
int num1 = 0b10;//int在内存里是以二进制存储的
int num2 = 010;
int num3 = 10;//为了方便观看,int输出的时候使用十进制进行输出
int num4 = 0x10;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
浮点数拓展
public class Demo03 {
public static void main(String[] args){
float num5 = 3.141592f;//float精确到第七位数
double num6 = 3.141592;//double精确到第十六位数
System.out.println(num5);
System.out.println(num6);
System.out.println(num5==num6);//ture
//精度不同,因为31.41592不等于31.41592000000000
float num7 = 3.1415926f;
float num8 = num7 + 0.0000001f;//在float数据类型中,值加整数不用在整数后加F或f,值加浮点数要在浮点数后加F或f
System.out.println(num7);
System.out.println(num8);
System.out.println(num7==num8);//false
}
}
字符拓展
所有字符的本质还是数字
- Unicode编码表中的每个编码占2个字节,且Unicode的编码可以处理各种语言的文字,不止有25536个字符
- 在Unicode编码表中字符都是用数字表示的,例如:97=a,65=A
- 以前的Excel表格最长只可以表示2的16次方=25536个字符
\u是转义字符,表示后面跟一个十六进制数,再通过这个十六进制数来指定一个字符
\u不能出现在注释中,\u在注释中也会转义,不然运行时会显示非法的 Unicode 转义
注意
//\u000d System.out.println("Hello World!"); 会输出hello world!
\u000d,\\\u000d, \\\\\u000d...奇数个\都会转义
\\u000d, \\\\u000d...偶数个\不会转义
常用的转义字符
\n:回车换行符。显示该字符时,光标移到下一行的行首
\r:回车符。显示该字符时,光标移到当前行的行首
\t:水平制表符。显示该字符时,光标向右移动一个制表位
\v:垂直制表符。显示该字符时,光标向下移动到下一行的同一列制表位
\b:退格
\f:换页
\a:鸣铃
\\:反斜杠字符
\':单引号符
\":双引号符
\d \dd \ddd:1~3位八进制数所代表的字符,d的值可以是0~7的任何数字
\xh \xhh:1~2位十六进制数所代表的字符,h的值可以是0~f的任何字符
public class Demo03 {
public static void main(String[] args) {
System.out.println("Hello\nWorld");
}
}
对象 从内存分析
- new关键字会在内存申请一块空间,空间中就有地址,new了几次,就有几块空间,就有几个地址
- ==:如果比较的对象是引用数据类型,则比较的是地址是否一致,如果比较的对象是基本数据类型,则比较的是值是否一致
public class Demo03 {
public static void main(String[] args) {
String d1 = new String("Hello,world!");//new关键字会在内存申请一块空间,空间中就有地址
String d2 = new String("Hello,world!");//new了几次,就有几块空间,就有几个地址
System.out.println(d1==d2);//这里比较的是地址是否相等
String d3 = "Hello,world!";
String d4 = "Hello,world!";
System.out.println(d3==d4);//这里比较的是值是否相等,d3和d4都是在字符串常量池取出来的,值以及存储地址都一样
}
}
布尔值拓展
public class Demo03 {
public static void main(String[] args) {
boolean fleg=true;
if (fleg==true){}//新手
if (fleg){}//老手
//Less is More! 代码要精简易读!
}
}
最新文章
- JavaScript 中对变量和函数声明的“提前”
- 老贼博客php教程从零学习PHP开始写作,顺祝新同事快乐!
- WCF初探-22:WCF中使用Message类(上)
- Oracle10g新特性——正则表达式 - 转
- 服务器 CentOS上yum安装Nginx服务
- Servlet学习
- 【Lucene4.8教程之三】搜索
- [C++]指针浅析
- 记使用sed的一次坑
- Struts2框架的基本使用(三)
- linux下安装ruby版本管理器RVM
- flink如何动态支持依赖jar包提交
- Android的Activity组件
- [luaj]在安卓用使用luaj
- 爬虫之scrapy扩展
- js获取到的页面中的checkbox选中的项
- [转]SASS用法指南
- Bash On Windows上安装JDK
- mybatis中批量更新的问题
- Cglib invoke以及invokeSuper的一点区别