一.简单的JAVA程序
public class ClassName
{
public static void main(String[] args)
{
program statements
}
}
二.表示溢出和出错情况的三个特殊的浮点数值
正无穷大,负无穷大,NaN(不是一个数字)
Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY和Double,NaN
不能检测一个特定值是否等于Double.NaN
if(x==Double.NaN) //is never true 所有非数值的值都认为不相同的,然而,可以使用Double.isNaN方法
if(Double.isNaN(x))
三.变量
每个变量属于一种类型
1.每个声明以分号结束
2.字母和数字范围大,‘A'--'Z' ’a'--'z' '_' '$'(合法的Java字符,但不要你的代码中使用这个字符)
3.变量名的长度没有限制
4.逐一声明每一个提高程序的可读性
四.常量
Java中用关键字final指示常量
1.关键字final 表示这个变量只能被赋值一次
2.常量名使用全大写
用于方法内部 final double CM_PER_INCH=2.54
用于方法外部 类常量 public static final double CM_PER_INCH =2.54
五.运算符
1.整数被0除将会产生一个异常 浮点数被0除将会得到无穷大或NaN结果
2.自增运算符号与自减运算符
前缀方式先+1运算,后缀变量则使用变量原来的值
3.&&和||是按照短路方式求值,如果第一个操作数已经能确定表达式的值,第二个操作数不必计算
4.支持三元操作符 ?:
5.>>>用0填充高位 >>符号位填充高位 << 无<<<
六.Math类
Math类中包含各种各样的函数 ,计算一个数值的平方根,可以使用sqrt方法
double x=4;
double y=Math.sqrt(x);
System.out.println(y);
println方法操作一个定义在System类中的System.out对象,Math类中的sqrt方法处理的不是对象,这样的方法被称为静态方法
Math.sin Math.cos Math.tan
不用在数学方法名和常量名前添加前缀“Math”,只要在源文件的顶部加上这行代码 import static java.lang.Math.*;
七.枚举类型
自定义枚举类型,枚举类型包括有限个命名的值
enum Size{ SMALL,MEDIUM,LARGE,EXTRA_LARGE}
声明这个变量Size s = Size.MEDIUM
Size类型变量只能存储这个类型声明中给定的特定的枚举值。或者null值,null值指这个变量没有设置任何值
八.字符串
Java没有内置的字符串类型,而在标准的库中提供了一个预定义类,叫做String
1.子串
subtsring可从一个较大的字符串中提取一个子串
String greeting = “hello”;
String s = greeting.substring(0,3)
为hel,第二个参数是不想复制的第一个位置 ,容易计算子串的长度
2.拼接
可用加号拼接两个字符串,当一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串
3. 不可变字符串
Java文档中将String类对象称为不可变字符串,不可以修改这个字符串
4.检测字符串是否相等
s.equals(t) s,t相等,返回true s,t可以是字符串变量或者字符串常量
要不区分大小写检测字符串是否相等,可以使用equalsIgnoreCase "Hello".equals("hello")
九.空串与Null串
空串是长度为0的字符串
if(str.le str.ngth()==0)或者if(str.equals(""))
Null串:String变量还可以放一个特殊的值,名为Null,这表示没有任何对象与该变量关联if(str==null)
十.构建字符串
StringBuilder builder = new StringBuilder(); 空的字符串构建器
builder.append(ch)
builder.append(str) //这时字符串构建器里面就有字符序列
当需要构建字符串时就调用toString方法,就可以得到一个String对象,包含了构建器中的字符序列
String completedString = builder.toString()