Java SE _第2章 Java 基础语法
1.1 注释(comment)
就是对代码的解释和说明。
Java中注释种类
/*
2.1 Java的注释
1、什么是注释?
对代码的解释说明的文字,给人看的。
编译器会读取,但是会忽略它里面的含义。
2、Java中的注释有3种:
(1)单行注释 //
(2)多行注释
*/
/*
多行注释,不允许嵌套
*/
/**
(3)文档注释,Java特有的注释,它是配合javadoc.exe工具使用的,
可以通过javadoc.exe工具把注释的内容,生成API文档。
?
@author Irene
@since 1.8
*/
?
/*
3、生成API文档的工具是javadoc.exe
格式:javadoc 源文件夹名.java
?
?
说明:javadoc工具只针对public的类
?
*/
public class Comments{
/**
main方法是Java程序的入口
@param args String[] 命令行参数
*/
public static void main(String[] args){
//单行注释
//从斜杆开始到行尾都是注释内容
}
/**
divide:除法,这个方法的作用是求两个整数相除
@param a int 被除数
@param b int 除数
@return int 商,整数和整数相除,结果只保留整数部分
*/
public static int divide(int a,int b){
return a/b;
}
}
1.2 关键字(keyword)
/*
关键字
1、什么是关键字?
在Java程序中有特殊意义的单词。
比如:class,public,static等
?
class:定义类
public:公共的,权限修饰符的一种
static:静态的
void:表示方法没有返回值
?
2、Java中有哪些关键字?
Java8版本中一共是50个关键字。
?
所有关键字都是小写的,没有大写字母。
无论在notepad++,还是后面用的IDEA等软件中,关键字会变颜色。
?
3、其中2个关键字是保留字。
它是从C语言中保留下来的。
因为Java语言是从C语言发展过来的,也是类C语言。
而且Java程序很多时候,也会调用底层的C函数库,所以Java中保留了C语言
的一些数据类型,关键字等,其中有两个没有被Java启用的关键字就是
const(在C语言中表示常量)和goto(在C语言中表示跳转到xx位置)。
?
4、还有3个特殊值,经常被误认为是关键字。
true:在Java中表示真、条件成立的意思
false:在Java中表示假、条件不成立的意思
null:在Java中表示空值,对象不存在的意思
?
?
?
*/
class Keywords{
public static void main(String[] args){
System.out.println(true);
System.out.println(false);
System.out.println(null);
}
}
1.3 标识符(identifier)(掌握)
/*
2.3 标识符
1、什么是标识符?
专业的概念:它是用来给变量、方法等命名的一些字符序列。
通俗的讲:凡是代码中需要我们程序员自己命名的部分就是标识符。
例如:我们现在写类(class)时,类名是我们自己命名(取名字)的,
它就是标识符。
?
2、标识符在命名时,有什么要求呢?
(1)标识符的命名规则(5条,必须遵守,否则编译不通过,或者运行有错误)
A:只能使用26个英文单词大小写、0-9的数字、下划线_、美元符号$。
B:在一个标识符中间不要包含空格
C:数字不能开头
D:不能直接使用关键字(保留字)、特殊值直接作为标识符名称
E:严格区分大小写
?
class Hello{}
class hello{}
上面的两个类是完全不同的两个类
?
(2)标识符的命名规范(5条,建议遵守,否则会被鄙视)
A:尽量见名知意
B:所有的类名等,都是每一个单词首字母大写,形式:XxxYyyZzz
C:所有的变量等,都是从第二个单词开始首字母大写,形式:xxxYyyZzz
D:所有的包名,每一个单词都小写,单词之间使用.分割,形式:xxx.yyy.zzz
自己写的包名千万不用以java开头。
E:所有的常量名,每一个单词都大写,单词之间使用_分割,形式:XXX_YYY_ZZZ
例如:age,name,bookName,main
*/
class Identify{
public static void main(String[] args){
//常量
System.out.println(Math.PI);//Math是类名,是代表数学类,PI是常量,代表圆周率
System.out.println(Integer.MAX_VALUE);//Integer是类名,代表整数,MAX_VALUE代表最大值
java.util.Date today = new java.util.Date();
System.out.println(today);
//java.util是包名,Date是类名
//today这里是变量名
//new关键字,是创建对象
}
}
1.4 数据类型(data type)(掌握)
Java的数据类型分为两大类:
-
基本数据类型:包括 整数 、浮点数 、字符 、布尔 。 -
引用数据类型:包括数组 、 类 、接口 、枚举 、注解 。
/*
2.4 Java的数据类型
1、Java的数据类型分为两大类
(1)基本数据类型:8种
整数类型:
byte,short,int,long
小数类型:
float,double
单字符类型:
char
布尔类型:
boolean(只有true,false两个值)
(2)引用数据类型
A:类:
例如:String类,代表字符串(存储和表示多个字符)
B:接口
C:枚举
D:注解
E:数组
*/
class DataType{
}
1.5 常量值(literal value)
/*
2.5 常量值(literal value)
也称为字面量值,在程序中固定写死的,直接写“值”。
数字、""的字符串、''的单字符等
?
总结:
整数,超过int范围的整数常量必须加L,用long类型表示
小数,如果没有加F,默认是double类型,加F就是float类型
字符,如果是单引号是char类型,单引号中有且只能有1个字符
? ? ?如果是双引号是String类型,双引号中可以是0-n个字符
*/
class LiteralValue{
public static void main(String[] args){
System.out.println(18);//18是int类型的整数常量值
System.out.println(18.5);//18.5是double类型的小数常量值
System.out.println('男');//男是char类型的单字符常量值
System.out.println("男");//男是String类型的字符串常量值
System.out.println('男' + '女');//char + char 结果:52906
System.out.println("男" + "女");//String + String 结果:男女
System.out.println(555845624451555L);//555845624451555L是long类型的整数常量值
System.out.println(555.845624451555F);//555.845624451555F是float类型单精度浮点型
System.out.println(555.845624451555D);//555.845624451555D是double类型双精度浮点型
System.out.println(555.845624451555);
System.out.println(true);
System.out.println(false);
System.out.println("18" + "19");//字符串 1819
//System.out.println('18');//错误
System.out.println(18 + 19);//整数 ? 37
}
}
例如:
/*
Java中的数据表示有两种形式:
(1)常量:在整个程序运行期间不会改变的值
(2)变量:在整个程序运行期间,可以改变的值
*/
class Data{
public static void main(String[] args){
System.out.println(18);//数字常量,固定的,写死的
int age = 18;//age是变量
System.out.println(age);//age是18
age++;
System.out.println(age);//age是19
age = (int)(Math.random()*100);
System.out.println(age);//age是?
//特殊的常量
final int x = 1;//x也是常量,它是特殊的常量,称为最终变量
//x = 2;
}
}
1.6 变量(variable)(掌握)
变量的概念
变量:在程序执行的过程中,其值可以发生改变的量
变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。
/*
2.6 变量
1、什么是变量?
变量是一个标识符,它里面存储有数据,这个数据在整个程序运行期间可能发生改变。
?
2、变量有三个要素?
(1)数据类型
Java的数据类型有基本数据类型(8种)和引用数据类型(类等),
它们都可以用来表示变量的数据类型。
?
如果是基本数据类型,里面存储的是数据值的本身;
如果是引用数据类型,里面存储的是对象的地址值。(后面面向对象部分再讲解)
?
(2)变量名
变量名就是一个标识符,要注意遵守标识符的命名的规则和规范。
变量名从第二个单词开始首字母大写,xxxYyyZzz。见名知意。
例如:用来存储姓名,变量名name
? ? ?用来存储年龄,变量名age
?用来存储苹果的价格,变量名applePrice
?
(3)变量值
变量值可以是一个字面常量值,也可以是一个表达式的计算结果等。
int age = 18; ?
int x = 1;
int y = 2;
int z = x + y;
无论是常量值还是表达式给变量赋值,都要注意类型的一致或兼容的问题。
?
int age = 18.5;//错误
double num = 18; //可以 小数可以兼容整数
?
3、变量的使用应该遵循这样的原则
(1)变量必须先声明后使用
如何声明?
数据类型 变量名;
?
(2)变量必须初始化 ,否则会报未初始化的错误
如何初始化?
变量名 = 值;
?
很多时候,会把声明和初始化合成一个语句
数据类型 变量名 = 值;
?
(3)变量有作用域
(4)变量在同一个作用域不能重复声明
*/
class Variable{
public static void main(String[] args){
//System.out.println(age);
/*
Variable.java:38: 错误: 找不到符号
? ? ? ? ? ? ? ?System.out.println(age); age没有声明
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^
?符号: ? 变量 age
?位置: 类 Variable
1 个错误
*/
//int age;
//System.out.println(age);
/*
Variable.java:50: 错误: 可能尚未初始化变量age
? ? ? ? ? ? ? ?System.out.println(age);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^
1 个错误
*/
//int age;//声明
//age = 18;//赋值,第一次赋值称为初始化
int age = 18;//声明并且同时初始化
System.out.println(age);
//int age = 19;//左边有int age就是声明
/*
Variable.java:71: 错误: 已在方法 main(String[])中定义了变量 age
? ? ? ? ? ? ? ?int age = 19;
? ? ? ? ? ? ? ? ? ?^
1 个错误
*/
age = 19;//age重新赋值,但是没有重新声明
System.out.println(age);
}
public static void test(){
//System.out.println(age);
/*
Variable.java:73: 错误: 找不到符号
? ? ? ? ? ? ? ?System.out.println(age);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^
?符号: ? 变量 age
?位置: 类 Variable
1 个错误*/
}
}
1.7 最终变量/常量(final)
/*
2.7 最终变量
1、什么是最终变量?
它是一种特殊的变量,这种变量的值在整个程序中不允许改变。
它的声明和变量的声明一样。
?
2、为什么要用最终变量?
希望能够在整个程序中,用一个统一的标识符代表一个常量值。
这个标识符代表的值不允许其他程序员修改。
如果需要有变化,只要修改一个地方就可以了,方便程序的维护。
?
3、如何声明最终变量?
final 数据类型 变量名 = 值;
*/
class FinalVariable{
public static void main(String[] args){
//如果要计算圆的面积
double r1 = 2.5;//第一个圆的半径
double r2 = 2.6;//第二个圆的半径
/*
double area1 = 3.14 * r1 * r1; //*这里表示乘法
double area2 = 3.14 * r2 * r2;
System.out.println("第一个圆的面积:" + area1);
System.out.println("第二个圆的面积:" + area2);
//上面这个代码,如果客户有新的要求,圆周率用3.1415926表示
//需要修改两个地方,把3.14修改为3.1415926
*/
final double PI = 3.14;
double area1 = PI * r1 * r1; //*这里表示乘法
//PI = 3.25;
double area2 = PI * r2 * r2;
System.out.println("第一个圆的面积:" + area1);
System.out.println("第二个圆的面积:" + area2);
//上面这个代码,如果客户有新的要求,圆周率用3.1415926表示
//需要修改1个地方,把PI的值修改为3.1415926
}
}
|