Java 基础问题整理(更新中)
来源:互联网 发布:json的实际应用 编辑:程序博客网 时间:2024/06/06 11:03
最近复习java基础的时候发现很多知识点都忘记了,所以在这里专门整理一下。
1.4种访问修饰符
2. switch 接收byte、char、short、int ; 1.5 后支持 枚举 ; 1.7 后支持 String
3.类型转换
精度:byte<short<int<long<float<double
低精度到高精度自动转换,高精度到低精度需要强制转换
int i = 133; long l = i;double d = 3.5; float f = (float) d;
小数常量默认double 类型,所以小数常量需要转换才能赋值给float
float f = (float) 3.5;
整数常量默认为int 类型,但是byte char short 类型在不超过精度时,不需要手动转换
byte b1 = 1; byte b2 = (byte) 128;
char 类型不在自动转换之列,所以需要手动转换
char c = 'C';byte b = (byte) c;short s = (short) c;char c1 = (char) b;char c2 = (char) s;
计算时 byte short char 型的值将被提升为int型,有long转long,有double转double
short s1=1,s2 = 1;s1 = (short) (s1+s2);
复合赋值运算符 += / -= 会自动转换为左侧的类型
short a = 1; a += 1;
自动装箱与自动拆箱
/** 自动拆箱 自动装箱 **/Integer i1=100; Integer i2=100; Integer i3=300; Integer i4=300; System.out.println(i1==i2);// true 同一个对象System.out.println(i3==i4);// 包装基础对象时,-128 <= i <= 127 返回已存在对象, 超出范围返回全新对象Integer i = 100; int ii = 100;System.out.println(i == ii);// 包装类与基础数据比较时,包装类会自动拆箱,然后再比较
4.String 类为final,不可以继承;String 类重写了equal方法,所以我们可以使用equal来判断字符串内容是否相等。
5.构造器不能被重写,只能重载;子类的构造都必须调用父类的构造,默认就是super(),所以如果父类没有构造无参数构造函数,必须显式的调用。
6.StringBuffer 与 StringBuilder 的区别时,StringBuilder时单线程环境下使用的,效率略高;而StringBuffer 是线程安全的,多线程下是使用;
7.String s = "123" 与 String s = new String("123"); 的区别
// 以下两条语句创建了1个对象。"凤山"存储在字符串常量池中 String str1 = "凤山"; String str2 = "凤山"; System.out.println(str1==str2);//true //以下两条语句创建了3个对象。"天峨",存储在字符串常量池中,两个new String()对象存储在堆内存中 String str3 = new String("天峨"); String str4 = new String("天峨"); System.out.println(str3==str4);//false
8.java 异常处理
1、 异常都会中断代码执行,除非 try catch 处理之
2、 RuntimeException 为不可查异常,所以不是必须处理的,可以不申明也不处理。
3、 throw 抛出异常 throws 申明异常(交给下一个调用者处理)
4、 try 块后可同时接 catch 和 finally 块,但至少有一个块
2、 RuntimeException 为不可查异常,所以不是必须处理的,可以不申明也不处理。
3、 throw 抛出异常 throws 申明异常(交给下一个调用者处理)
4、 try 块后可同时接 catch 和 finally 块,但至少有一个块
9.java 内存
1、内存主要可以分为 堆、栈、方法区、本地方法栈及程序计数器(寄存器)。常量池在方法区中。
2、栈 -- 局部变量,对象引用;堆 -- 对象,数组;方法区 -- 常量池,类方法字段描述;本地方法栈与方法区类似,为调用本地方法使用
3、类的只有四种情况会初始化:new 对象 或 操作static字段、static方法 ; reflect 调用; 调用子类的时候父类还没有初始化则会初始化父类; 虚拟机启动时会加载包含main()方法的类
0 0
- Java 基础问题整理(更新中)
- android-问题整理(持续更新中)
- JS问题整理 更新中。。。
- Visual Studio编译问题整理(缓慢更新中)
- 笔记整理(java基础七-----问题整理)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...) .
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- Java自学视频整理(持续更新中...)
- C++确定常量的数据类型
- DES+Base64 加密、解密详情
- ecshop 权限系统设计原理分析。
- 策略模式
- Git使用教程
- Java 基础问题整理(更新中)
- swift 快速奔跑的兔几 本节的内容是:tableView栗子
- 在Visual Studio里使用boost
- DES+Base64 加密解密的方法
- bjfu 1008
- 在mac os安装CocoaPods(最详细教程)
- 中小型网站架构分析及优化
- Javascript 实现复制(Copy)动作方法大全
- 关于Java中的paint,repaint,update三个方法的关系