|
基础四:https://blog.csdn.net/qq_39657909/article/details/80448956 1. java 修饰符a) synchronized i. 关键字声明的方法同一时间只能被一个线程访问 ii. 可以应用于四个访问修饰符 iii. publicsynchronizedvoidshowDetails(){ ....... } b) Transient i. 该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型 ii. 序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量 iii. publictransientintlimit = 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&Matha) 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://blog.csdn.net/qq_39657909/article/details/80864147
|