以下基础总结是个人模糊点,大神可跳过,新手可参考,如有错误请指出,谢谢
基础四: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