以下基础总结是个人模糊点,大神可跳过,新手可参考,如有错误请指出,谢谢
基础四:https://blog.csdn.net/qq_39657909/article/details/80448956
1. java 修饰符
a) synchronized
i. 关键字声明的方法同一时间只能被一个线程访问
ii. 可以应用于四个访问修饰符
iii. public synchronized void showDetails(){ ....... }
b) Transient
i. 该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型
ii. 序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量
iii. public transient int limit = 55; // 不会持久化
publicintb; // 持久化
c) volatile
i. 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值
ii. 当成员变量发生变化时,会强制线程将变化值回写到共享内存。保证两个线程访问时是同一个值
iii. 一个volatile对象的引用可能是NULL
d) Protected
i. 基类的protected成员是包内可见的,并且对子类课件
ii. 若子类与基类不在同一包中,那么在子类中,子类实例可以访问其从基类继承而来的protected方法,而不能访问基类实例的protected方法。
2. Java运算符
a) 位运算
i. <<:按位左移运算符。做操作数按位左移右操作数指定的位数(2^左移位数)。
ii. >>:按位右移运算符。左操作数按位右移右操作数指定的位数(2^右移位数,无符号)。
iii. >>>:按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充(2^左移位数,有符号)。
b) 条件运算符
i. 条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
ii. 实现代码:Variable x =(expression)?value if true:value if false
c) Instanceof运算符
i. 用于检测操作对象类型并进行判断
ii. 写法:(Object reference variable)instanceof (class/interfacetype)
iii. 如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。如果被比较的对象兼容于右侧类型,该运算符仍然返回true。
iv. 例子:
String name=”aaa”;
boolean result=name instanceof String;
3. Java循环
a) Java5中引入了一种主要用于数组的增强型for循环
b) for(声明语句 : 表达式){//代码句子}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
4. java Number&Math
a) Number:java为每个内置数据类型提供了对应的包装类。
i. 为什么存在:因为在开发中我们经常会遇到需要使用对象,而不是内置数据类型的情形
ii. 包装类有:(Byte、Short 、Integer、Long、Float、Double)都是抽象类Number的子类。
iii. 这个包装类的过程其实就是装箱。即把值类型转换为引用类型。
iv. 代码:
Integer x=5;
x=x+10;
在这个过程中x被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。即引用类型转换为值类型。
b) Math
i. Java 的 Math类包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数
ii. Math 的方法都被定义为static 形式,通过 Math 类可以在主函数中直接调用
c) Math与Number的类方法
i. Number方法
1. xxxValue():将Number对象转换为xxx数据类型的值并返回。
2. compareTo():将number对象与参数比较
3. equals():返回一个Number对象指定的内置数据类型。
4. toString():用于返回以一个字符串表示的 Number 对象值。
5. parseInt():用于将字符串参数作为有符号的十进制整数进行解析。
ii. Math方法:
1. abs():返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。
2. ceil() 方法可对一个数进行上舍入,返回值大于或等于给定的参数。等等方法
5. java中的Character类
a) 包装了基本类型char的值
6. Java中的String类
a) Java 中字符串属于对象
7. Java日期时间
a) Java.util包提供了Date类来封装当前的时间和日期。
b) 实例化:
i. Date()使用当前时间初始化。
ii. Date(long millisec)该参数是从1970年1月1日起的毫秒数,来进行初始化。
c) SimpleDateFormat格式化日期
i. 实例化:
1. SimpleDateFormat ft = newSimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
ii. 时间和日期的格式化编码:
字母 |
描述 |
示例 |
G |
纪元标记 |
AD |
y |
四位年份 |
2001 |
M |
月份 |
July or 07 |
d |
一个月的日期 |
10 |
h |
A.M./P.M. (1~12)格式小时 |
12 |
H |
一天中的小时 (0~23) |
22 |
m |
分钟数 |
30 |
s |
秒数 |
55 |
S |
毫秒数 |
234 |
E |
星期几 |
Tuesday |
D |
一年中的日子 |
360 |
F |
一个月中第几周的周几 |
2 (second Wed. in July) |
w |
一年中第几周 |
40 |
W |
一个月中第几周 |
1 |
a |
A.M./P.M. 标记 |
PM |
k |
一天中的小时(1~24) |
24 |
K |
A.M./P.M. (0~11)格式小时 |
10 |
z |
时区 |
Eastern Standard Time |
' |
文字定界符 |
Delimiter |
" |
单引号 |
` |
d) Printf格式化日期
i. printf 方法可以很轻松地格式化时间和日期。使用两个字母格式,它以 %t 开头并且以下面表格中的一个字母结尾。
ii. 格式说明
转 换 符 |
说 明 |
示 例 |
c |
包括全部日期和时间信息 |
星期六十月 27 14:21:20 CST 2007 |
F |
"年-月-日"格式 |
2007-10-27 |
D |
"月/日/年"格式 |
10/27/07 |
r |
"HH:MM:SS PM"格式(12时制) |
02:25:51 下午 |
T |
"HH:MM:SS"格式(24时制) |
14:28:16 |
R |
"HH:MM"格式(24时制) |
14:28 |
e) 解析字符串为时间
i. SimpleDateFormat类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat对象的格式化存储来解析字符串
ii. 代码:
1. import java.util.*; 2. 3. public class DiffDemo { 4. 5. public static void main(String args[]) { 6. try { 7. long start = System.currentTimeMillis( ); 8. System.out.println(new Date( ) + "\n"); 9. Thread.sleep(5*60*10); 10. System.out.println(new Date( ) + "\n"); 11. long end = System.currentTimeMillis( ); 12. long diff = end - start; 13. System.out.println("Difference is : " + diff); 14. } catch (Exception e) { 15. System.out.println("Got an exception!"); 16. } 17. } 18. } |
基础六:https://blog.csdn.net/qq_39657909/article/details/80879802
版权声明:本博客为记录本人自学感悟,内容大多从网上学习与整理所得,若侵权请告知!
https://mp.csdn.net/postedit/80365677