一、第一个程序hello world:
public class HelloWorld
{
public static void main(String[] args){
System.out.println("hello world!");
}
}
1.1、java区分大小写及中英文符号(如main写成Main,String写成string则会报错,另外要注意中英文符号,英文符号(, ;等等为正确的),中文符号(,;则会报错))
1.2、class后面跟的为类名(可自行名字但尽量符合命名规范),命名规范:多单词驼峰命名法(如HelloWorld)
1.3、java源文件拓展名为(.java),字节码文件名为(.class)
1.4、允许程序时总是从main方法的代码中开始执行的,故源文件中须包含一个main方法。
1.5、每一行程序结束须以分号(;)结束,否则将报错
二、
2.1、注释:单行注释(//这是单行注释) 多行注释(使用?将注释阔起来)文档注释(以结束)
2.2、数据类型:java中共有8种基本类型,其中有4种整型、2种浮点类型、1种字符类型char和1种用于表示真值的boolean类型。
2.2.1、整型:类型 存储需求 取值范围
int 4字节 -2147483648~2147483647
short 2字节 -32768~32767
byte 1字节 -128~127
long 8字节 -9223372036854775808~9223372036854775807
通常情况下,int最常用,byte和short多用于特定应用场合,如底层文件处理或者存储空间很宝贵时的大数据。
长整形数值有一个后缀L或者l
2.2.2、浮点类型:
单精度浮点类型float类型的数值有一个后缀F或者f(如3.13L),没有后缀F的浮点数值(如3.14)总是默认为double类型。
双精度浮点类型double类型数值精度是float类型的两倍。大部分情况使用double类型,只有很少情况下使用float类型,如,需要单精度数的库,或者需要存储大量数据时。
2.2.3、cahr类型
char类型可用于表示单个字符,单个字符需用单引号阔起来(如‘A’),也可用于描述一些Unicode字符。
2.2.4、boolean类型
boolean类型有两个值:true和false,用于判定逻辑条件。整型值与布尔值之间不可相互转换。
2.3、java变量名命名规则:1.必须以字母、下划线、或者美元符开头;2.除开头外后面的部分可以有字母、下划线、美元符$以及数字组成;3.虽然变量名不限制长度,但能表达清楚命名的含义即可;4.变量名不可以和java的关键字冲突。”
2.4、变量:定义一个变量需要把它初始化(如int i = 1;),未初始化的变量使用之后编译器会报错。
2.5、常量:在java中,使用关键字final指示常量(习惯上,常量名使用全大写)。
final double NMMDW = 2.113;
关键字final表示这个变量只能被赋值一次,一旦被赋值后就不能再更改。
在java中,若希望某个常量可以在一个类中的多个方法中使用,一般将该常量称为类常量,类常量可使用关键字static final设置且类常量需定义位于main方法的外部。
public class Heihei{
public static final double NMMDW = 2.131;
public static void main(String[] args){
............
}
}
2.5、枚举类型
可用于服装大小尺寸等值的定义
enum Size {SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Size s = Size.MEDIUM;
Size类型存储给定的某个枚举值或者特殊值null。
2.6、数学函数与常量
计算一个数值的平方根,可以使用sqrt方法:
double x = 2.1;
double y = Math.sqrt(x);
System.out.println(y);
幂运算使用Math类的pow方法:
double y = Math.pow(x, a); //将y的值设置为x的a次幂(x^a)
判断奇偶数:
n % 2 如果n是偶数,该表达式为0。如果n是奇数,该表达式则为1。若n为负数,则该表达式为 -1。
除了在数学方法名和常量名前添加前缀“Math”,也可直接在代码顶部加上该行代码
import static java.lang.Math.*;
2.7、运算符
2.7.1、赋值运算符:x += 4;等价于 x = x+4;
2.7.2、自增自减运算符:详解(Java运算符使用总结(重点:自增自减、位运算和逻辑运算) - 乘风起 - 博客园)
n++(使用n的值后再加1)
++n(使用n的值前先加1)
2.7.3:
要检测相等性,需使用两个等号 == 。如:3 == 7 的值为false
检测不相等使用 !=
java使用&&表示“与”,使用||表示“或”。
&&和||使用“短路”方法求值:若第一个操作数已经能够确定表达式的值,第二个操作数就不必运算。如:x !=0 && 1 / x >x+y //x等于0,那么第二部分不计算,x不等于0,也不会计算第二部分。
expression1 && expression2 第一表达式为false,那么结果就不可能为true,即第二个表达式不必运算。
expression1 || expression2 第一个表达式的值为true,那么该式子值就为true,则第二个表达式不必运算。
2.7.4、三元运算符
若条件为true,那么表达式 condition ? expression1 : expression2 就为第一表达式的值,否则计算为第二个表达式的值,如:x < y ? x:y 该式子会返回x和y中较小的一个。
2.7.5、运算优先级(见书p44)
&&优先级高于||:
a && b || c 等价于 (a && b) || c
+=右结合运算符:
a += b += c 等价于 a += (b += c)
2.8、字符串
String e = ""; //an empty string
String greeting = "hello";
2.8.1、子串
String类的 substring方法可从一个较大字符串中提取出一个子串。
如:
String greeting = "hello";
String s = greeting.substring(0,3); //创建一个字符串“hel”
s.substring(0,3)是从0开始计数,直到3为止,但不包含3.
字符串s.substring(a,b)的长度为b-a,如s.substring(0,3)的长度为3-0=3
2.9、拼接
int age = 13;
String rating = "PG" + age; //将rating设置为PG13
(当将一个字符串与一个非字符串的值进行拼接时,后者会转换成字符串。)
使用静态join方法把多个字符串放在一起且用一个界定符分隔:
String all = String.join("/", "s", "m", "l" ); // all is the string "s / m / l"
将greeting的内容修改为“help!”:
greeting = greeting.substring(0,3) + "p!";



