1. 注释
1)单行注释:从//开始到本行结尾
2)长篇注释:/*开始,*/结束
3)文档注释:/**开始,*/结束,可以用来自动生成文档
2)长篇注释:/*开始,*/结束
3)文档注释:/**开始,*/结束,可以用来自动生成文档
2. 数据类型
1)整数
int(4) short(2) byte(1) long(8)[以L结尾]
int(4) short(2) byte(1) long(8)[以L结尾]
2)浮点
float(4)[有效位7,以F结尾] double(8)[有效位15]
三个特殊的浮点数值:
正无穷大(Double.POSITIVE_INFINITY)
负无穷大(Double.NEGATIVE_INFINITY)
Double.NaN(0/0或者负数的平方根结果为NaN),Double.isNaN(double num)判断是否是NaN
float(4)[有效位7,以F结尾] double(8)[有效位15]
三个特殊的浮点数值:
正无穷大(Double.POSITIVE_INFINITY)
负无穷大(Double.NEGATIVE_INFINITY)
Double.NaN(0/0或者负数的平方根结果为NaN),Double.isNaN(double num)判断是否是NaN
3)字符
char(2) 单引号'A',Unicode编码单元\u0000~\uffff,\u2122表示注册符号等
Character类中有很多字符是否是标示符等的判定方法
char(2) 单引号'A',Unicode编码单元\u0000~\uffff,\u2122表示注册符号等
Character类中有很多字符是否是标示符等的判定方法
4)布尔
boolean(1) 两个值:true和false
boolean(1) 两个值:true和false
3. 变量
1)不要使用未被初始化的变量,最好显示进行初始化
2)使用final声明常量(const是Java保留的关键字,但目前没有被使用)
2)使用final声明常量(const是Java保留的关键字,但目前没有被使用)
4. 运算符
1)Math类中包含了各种各样的数学函数,在函数前加Math.或者import static java.lang.Math.*(静态导入)
2)可预测结果比运行速度更重压的话,使用StrictMath类(fdlibm实现的算法)
3)int和long转换成float或者long转成double都会有精度损失
2)可预测结果比运行速度更重压的话,使用StrictMath类(fdlibm实现的算法)
3)int和long转换成float或者long转成double都会有精度损失
5. 代码点和代码单元
1)代码点就是一个Unicode字符。代码单元就是代码点的集合
2)辅助字符需要一对代码单元表示,辅助字符一般用于汉字或者日文等字符
3)遍历字符串,依次查看每一个代码点:
2)辅助字符需要一对代码单元表示,辅助字符一般用于汉字或者日文等字符
3)遍历字符串,依次查看每一个代码点:
int cp = sentence.codePointAt(i); if(Character.isSupplementaryCodePoint(cp)) i+=2; else i++;4)回退操作
i--; int cp = sentence.codePointAt(i); if(Character.isSupplementaryCodePoint(cp)) i--;
6. StringBuffer vs. StringBuilder
1)StringBuffer线程安全
2)StringBuilder非线程安全,单线程中使用比StringBuffer快
2)StringBuilder非线程安全,单线程中使用比StringBuffer快
7. 控制台输入输出
1)Scanner in = new Scanner(System.in); System.out.println("What is your name?"); String name = in.nextLine(); System.out.println("How old are you?"); int age = in.nextInt(); in.next(); //读一个单词 2)Console cons = System.console(); String userName = cons.readLine("User Name: "); char[] password = cons.readPassword("Password: "); // 密码处理之后马上用填充值覆盖数组元素——安全
3)格式化输出
System.out.printf("%,.2f", 10000.0/3.0); ==> 3,333.33
System.out.printf("%,.2f", 10000.0/3.0); ==> 3,333.33
8. 文件的输入输出
1)Scanner in = new Scanner(new File("myfile.txt")); // 构造一个从给定文件读取数据的Scanner
2)Scanner in = new Scanner(String data); // 构造一个从给定字符串读取数据的Scanner
3)PrintWriter out = new PrintWriter("myfile.txt"));
2)Scanner in = new Scanner(String data); // 构造一个从给定字符串读取数据的Scanner
3)PrintWriter out = new PrintWriter("myfile.txt"));
9. 控制流程
1)flag: ... break flag;
10. 大数值
1)BigInteger
2)BigDecimal
2)BigDecimal
11. 数组
1)简单打印System.out.println(Arrays.toString(array));
2)数组拷贝Arrays.copyOf/System.arraycopy(from, fromIndex, to, toIndex, count);
3)数组排序Arrays.sort(array);
4)int r = (int)(Math.random() * n) [0, n-1]随机整数
5)for(double[] row : array)
for(double value: row)
do something with value
2)数组拷贝Arrays.copyOf/System.arraycopy(from, fromIndex, to, toIndex, count);
3)数组排序Arrays.sort(array);
4)int r = (int)(Math.random() * n) [0, n-1]随机整数
5)for(double[] row : array)
for(double value: row)
do something with value
6)二维数组快速打印System.out.println(Arrays.deepToString(array));
7)不规则数组
int[][] odds = new int[NMAX + 1][]
for(int n = 0; n <= NMAX; n++)
odds[n] = new int[n+1];
7)不规则数组
int[][] odds = new int[NMAX + 1][]
for(int n = 0; n <= NMAX; n++)
odds[n] = new int[n+1];
相关推荐
模块化设计:源码采用模块化的设计思想,结构清晰、易于扩展,方便用户根据自己的需求进行定制和修改。 适用场景: 学习与研究:对于大学生和初学者来说,这份源码资源是了解Java编程规范、学习Java高级特性的绝佳...
并在此基础上,详细描述了Java 2平台中新增加的许多安全结构方面的措施,同时对Java安全性的实施提出了使用指导,描绘了如何定制、扩展和精化安全结构以及成功实现的技术细节。本书为建立安全、有效、强大和可移植的...
18 第3章 标识符和基本数据类型 19 3.1 Java的基本语法单位 19 3.1.1 空白、注释及语句 19 3.1.2 关键字 21 3.1.3 标识符 21 3.2 Java编码体例 22 3.3 Java的基本数据类型 23 3.3.1 变量和常量 23 ...
**Java毕业设计 - 扫雷游戏(程序)** 本资源是一个基于Java编写的扫雷游戏的毕业设计项目。它包含了完整的源代码、文档和必要的资源文件,如图片、音频等。该项目旨在提供一个具有基本扫雷游戏功能的程序框架,...
java程序基础知识 本系统有4个程序每个程序都导入了不同的包和类运用了不同的所学知识。不同的类和 包提供的方法、类型等都不同,本程序还使用了继承。以至使其能够完成不同的功能。 本节主要讲述本系统所使用的...
java程序基础知识 本系统有4个程序每个程序都导入了不同的包和类运用了不同的所学知识。不同的类和 包提供的方法、类型等都不同,本程序还使用了继承。以至使其能够完成不同的功能。 本节主要讲述本系统所使用的...
理解模块化程序设计思想概念 了解”自顶向下、逐步求精“设计方法 sum = 10!+6!-9! 引入示例 引入示例 10! 将10!加到sum中 6! 将6!加到sum中 9! 从sum中减去9! 缺点:代码重复怎么办? 引入示例 sum = 10!+6!-9! ...
java程序基础知识 本系统有4个程序每个程序都导入了不同的包和类运用了不同的所学知识。不同的类和 包提供的方法、类型等都不同,本程序还使用了继承。以至使其能够完成不同的功能。 本节主要讲述本系统所使用的...
并在此基础上,详细描述了Java 2平台中新增加的许多安全结构方面的措施,同时对Java安全性的实施提出了使用指导,描绘了如何定制、扩展和精化安全结构以及成功实现的技术细节。本书为建立安全、有效、强大和可移植的...
所需知识包括java程序设计语言、swing基本GUI组 件、多线程编程、socket编程、集成开发环境使用eclipse。系统采用两层C/S体系结构 ,C端负责通过GUI与客户交互,实现注册、登陆、收发信息、退出等功能; S端是聊天...
《Java高级程序设计实验报告-FTP服务器设计与实现.doc》是一份深入探讨FTP服务器设计和实现的高级Java程序设计实验报告。本报告旨在介绍与讲解FTP服务器的构建、工作原理以及各种关键功能的实现细节。 在这份报告中...
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速...
第1页/共30页 Java面向对象程序设计杨晓燕面向对象基本原则和模式全文共30页,当前为第1页。 类的UML图 UML类图显示类的三个组成部分,第一是Java中定义的类名,第二个是该类的属性,第三个是该类提供的方法。 第一...
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速...
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速...