1.标识符和关键字
1.1标识符
凡是可以自己命名的地方都叫标识符。例如:包名,类名,方法等。
定义合法标识符规则
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
方法名,变量名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
包名:多单词组成时所有字母都小写:xxxyyyzzz
1.2关键字
定义:被java语言赋予了特殊含义,用作专门用途的字符串。
特点:关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。
2.变量
变量的概念
1.内存中的一个储存区域。
2.该区域的数据可以在同一类型范围内不断变化。
3.变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
变量的作用
用于内存中保存数据。
在方法体外,类体内声明的变量称为成员变量(非静态变量)。
在方法体内部声明的变量称为局部变量。
按照数据类型来划分,有基本数据类型变量和引用数据类型变量
3.Java数据类型的划分
注意:
1.byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
2.boolean类型不能与其它数据类型运算。
3.当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。
整数类型:byte,short,int,long
注意:java的整型常亮默认为int型,声明long型常量须后加 'l’或’L’
浮点类型:float、double
注意:Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’
字符类型:char
注意:char类型是可以进行运算的。因为它都对应有Unicode码。
布尔类型:boolean
注意:boolean类型数据只允许取值true和false,无null。
boolean类型不可以转换为其它的数据类型。
当数据范围由小到大时,需要强制转换
4.运算符
4.1.算术运算符
自增(自减)运算符:++,--
例:a++:先赋值后运算
int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1
例:++a:先运算后赋值
int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2
4.2.赋值运算符
4.3.比较运算符(关系运算符)
注意:
1.>、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2.== 、 != 两边的操作数既可以是数值类型,也可以是引用类型
3.== 比较基本数据类型时,比较的是值。比较引用数据类型时比较的是地址。
4.4.逻辑运算符
“&”和“&&”的区别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
4.5. 三元运算符
语法形式:布尔表达式 ? 表达式1:表达式2
布尔表达式为true,运算结果为表达式1。反之,结果为表达式2。
int a = (10>3) ? 5 : 10;//10>3为true,a=5
int a = (10<3) ? 5 : 10;//10<3为false,a=10
4.6.运算符优先级
5.程序流程控制
结构化程序设计中规定的三种基本流程结构,分别为:顺序结构,分支结构,循环结构。
顺序结构
程序由上向下执行。
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}//java中定义成员变量时采用合法的向前引用。
分支语句if-else
if语句三种格式:
分支语句switch-case
public class SwitchTest {
public static void main(String args[]) {
int i = 1;
switch (i) {
case 0:
System.out.println("one");
break;
case 1:
System.out.println("two");
break;
default:
System.out.println("other");
break;
}
}
}
注意:
1.switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);
2.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
循环结构
循环语句由四个组成部分
1.初始化部分
2.循环条件部分
3.循环体部分
4.迭代部分
循环结构:for循环
public class ForLoop {
public static void main(String args[]) {
int result = 0;
for (int i = 1; i <= 100; i++) {//1.初始化部分 2.循环条件部分 3.迭代部分
result += i;//循环体部分
}
System.out.println("result=" + result);
}
}
循环结构:while循环
public class WhileLoop {
public static void main(String args[]) {
int result = 0;
int i = 1;//1.初始化部分
while (i <= 100) {//循环条件
result += i;//循环体部分
i++;//迭代部分
}
System.out.println("result=" + result);
}
}
循环结构:do-while循环
public class DoWhileLoop {
public static void main(String args[]) {
int result = 0, i = 1;//初始化部分
do {
result += i;//循环体部分
i++;//迭代部分
} while (i <= 100);//循环条件部分
System.out.println("result=" + result);
}
}
注意:while与do…while的区别
- while: 先判断 再执行 条件不成立 循环体 一遍都不执行
- do…while: 先执行 再判断 条件不成立 循环体 至少执行一遍
特殊关键字break,continue
break语句
break语句用于终止某个语句块的执行
public class BreakTest{
public static void main(String args[]){
for(int i = 0; i<10; i++){
if(i==3)
break;//当条件成立时,终止for循环
System.out.println(" i =" + i);
}
System.out.println("Game Over!");
}
}
continue语句
continue只能使用在循环结构中
continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
public class ContinueTest {
public static void main(String args[]){
for (int i = 0; i < 100; i++) {
if (i%10==0)
continue;//跳出成立的循环
System.out.println(i);
}
}
}
注意:
1.return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。
2.与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内
6.注释和分隔符
6.1 注释
在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。注释的内容在程序编译的时候会被忽视,不会产生目标代码,也就是,注释的部分不会对程序的执行结果产生任何影响。
1.) 单行注释格式。所有从“//”开始到行末的字符都将被忽略
// single line
2.) 段落注释格式。所有在“/* ”和 “*/ ”之间的字符被忽略,这些注释可以扩展到多行。
/* any section */
3.) 文档注释格式。所有在“/** ”和 “ */”之间的字符被忽略,这些注释只能应用在声明语句之前,因为它们将被Java文档生成器用于自动创立文档。
/** any section ,used by javadoc to generate HTML documents */
6.2 分隔符
空格、逗号、分号以及行结束符都被称为分隔符,规定任意两个相邻标识符、数字、保留字或语句之间必须至少有一个分隔符,以便程序编译时能够识别。
{ } 大括号,用来定义类体、方法体、复合语句和数组的初始化
; 分号, 用来作为语句结束的标志
, 逗号, 用于区分方法的各个参数,区分变量说明的各个变量
: 冒号, 用于语句标号