1、一个简单的java应用程序
public class FirstSample{
public static void main(String[] args){
System.out.println("Hello world!");
}
}
(1)、Java对大小写敏感
(2)、类名采用骆驼命名法(如FirstSample--》及每个单词的第一个字母大写,后面数字字母组成)
2、注释
//---》单行注释
/**/ -----》多行注释(注释不可嵌套)
/** */----》自动生成文档
3、Java是一种强类型语言
int(4字节)、short(2字节)、long(8字节,后缀L,如400L)、byte(1字节)
float(4字节,后缀F,如3.2F)、double(8字节,后缀D,小数时默认为double,如3.44D)
char、boolean(整型值和布尔值之间不能进行相互转换)
数值类型转换byte-》short-》int-》long----》double/float
char-》int-》double
int----》float
其中-》表示无信息丢失的转换,----》表示可能有精度损失的转换
(1)NaN--》不是一个数字
if(x==Double.NaN)-------》返回为true
if(Double.NaN.isNaN(x))-----》判断x是否是数字
(2)2.0-1.1=0.89999999计算出来有误差
-------应该使用BigDecimal类
(3)变量---》以字母开头,后面数字字母组成
(4)变量的声明尽可能地靠近变量第一次使用的地方
(5)final声明常量如final int EXINT=1;
(6)static final声明类常量,如public static double final PI=3.14;
(7)&& ||--》作为判断条件时第一个为假,则后面的将不检查
& |----》作为判断条件是两边都计算两个操作数的值
>>>-----》运算符将用0填充高位,>>----》运算符将用符号位填充高位,没有<<<运算符
(8)右结合运算符如: ! ++ -- + - () new ?: = += -= *= /= %= &= |= ^= <<= >>= >>>=
a+=b+=c------------>a+=(b+=c)
(9)任何一个Java对象都可以转换成为字符串
(10)不可变字符串String(预定义类String)
(11)JVM中将字符串常量是共享的,而+或substring等操作产生的结果并不是共享的,所以:
String greet=“Hello”;
if(greet == "Hello")---》可能是正确的
if(greet.substring(0,3) == "Hel")--------》可能是错误的
----》不要用 == 判断字符串是否相等,使用 “Hello”.equals(greet)进行判断,或if(greet.compareTo("Hello") == 0)进行判断
(12)字符串构造器StringBuilder 、 StringBuffer--允许多线程添加、删除字符的操作
(13)Scanner in = new Scanner(new File("c:\\mydirectory\\testfile.txt"));----》目录\需要进行转义
PrintWriter out = new PrintWriter("testfile.txt");
Scanner in = new Scanner(System.in);---》构建与标准输入流关联的Scanner
注意:构建Scanner时,文件必须是存在的,否则异常
File(String String fileName);--------》该文件当前不必存在
(14)switch(input){
case 1: ......; break;-------------------》case标签必须是整数或枚举常量
}
(15)跳出语句块
testflag:
XXXX{
语句块
if(XXXX) break testflag;
}
将会跳出到该语句块末尾处
带标签的continue语句,将跳到与标签匹配的循环首部
(16)、大数值BigInteger、BigDecimal(大实数),实现了任意精度的整数运算,加、减、乘、除、余数计算方法为add、subtract、multiply、divide、mod,比较方法compareTo,static BigInteger valueOf(long x)---》返回等于x的大整数
(17)、数组
声明: int[] a; int a[]
创建数据:int[] a = new int[10];-------》创建后就可循环赋值
数组元素个数: a.length
初始化:int[] a = {2,3,4};
匿名数组:exarray = new int[] {2,3,4};
注意:在运行过程中需要扩展数组大小,就应该使用数组列表(array list)
打印数组中所有值: Arrays.toString(a);
int[] a1 = a2;------》则a1和a2的引用指向同一个数组
int[] a1 = Arrays.copyOf(a2,2*a2.length);------》将数组a2的所有值拷贝到一个新的数组中去,通常用来增加数组大小
(18) for each循环
for(var: collection) statement(使用var来操作)
(19)、对数值型数组可以使用Arrays.sort(a)进行排序
(20)、Math.random方法返回一个[0,1)之前的随机浮点数(包含0,不包含1)
int r = (int)(Math.random()*n)----------》可以得到0到n-1之间的一个随机数