在JAVA私塾学习时整理的一套学习笔记
第二章 基础语法一. 关键字
goto 和 const 不是java 关键字,是java的保留字。true和false是不是关键字。
二. 标识符
命名规则:
(1) 首字母只能以字母,下划线,$开头,其后可以跟字母,下划线,$和数字。
(2) 标识符区分大小写。
(3) 标识符不能使关键字。
(4) 标识符长度没有限制。
命名建议:
(1) 驼峰标识:若由多个单词组成,则第二个单词开始每个单词首字母大写。
(2) 尽量做到见名知意。
(3) 尽量少用带$符号的标识符。
(4) 标识符不应该使用中文,虽然可以编译和运行成功,但不建议这么做。
三. 数据类型
数据类型分类:基本数据类型和引用数据类型。
基本数据类型:四类八种:
(1) 整数型:byte, short, int, long
(2) 浮点型:float, double
(3) 字符型:char
(4) 逻辑性:boolean
整数型:byte:字节型
short:短整型
int:整型
long:长整型
明确表示是long型,可在后边直接加L(l)。
整数型的值,没有特别指明,默认是int型。
取值范围和默认值
名称 长度 范围 默认值
byte 8位 -27~27-1 0
short 16位 -215~215-1 0
int 32位 -231~231-1 0
long 64位 -263~263-1 0
浮点型:float ,double
提示:
(1) 浮点型的值,如果没有特别指明,默认是double型的。
(2) 定义float型时,一定要指明是float型,可通过在数字后边加F(f)。
(3) 定义double类型时,可以不用指明,默认的就是double型,也可通过在数字后边添加D(d)来表示。
取值范围和默认值
名称 长度 默认值
float 32位 0f
double 64位 0
字符型:char 用来标识单个字符,一个char代表一个16-bit的无符号的unicode字符,一个char字符必须包含在单引号内。
取值范围和默认值
名称 长度 范围 默认值
Char 16位 Unicode216-1 Unicode 0
转义字符:\n 回车
\t 水平制表符
\b 退格
\r 换行
\f 换页
\’ 单引号
\” 双引号
\\ 反斜杠
逻辑型:boolean 只有两个文字值:即true和false。
Boolean默认值是false。
Java中不可以将整数类型和逻辑类型相转换。
字符串类型:String
标识方式是用双引号将要表示的字符串引起来。
注意:
(1) String 不是原始数据类型,而是一个类(class)
(2) String包含的字符数量是任意多个,而字符类型只能是一个
(3) String默认值是null
四. 常量和变量
常量:值不可以改变的标识符
定义规则:尽量全部大写,并且用下划线将词分隔。
变量:值可以改变的标识符,用来引用一个存储单元,用标识符来表示,可以通过操作变量来操作变量所对应的内存区域或值块的值。
五. Java代码的基本知识
注释:(1) //:注释单行语句
(2)/* */: 多行注释
(3)/** */:文档注释
常常在javadoc注视中加入一个“@”开头的标记,结合javadoc指令的参数,可以在生成的api文档中产生特定的标记。
常用的标记:@author:作者
@version:版本
@deprecated:不推荐使用的方法
@param:方法的参数类型
@return:方法的返回类型
@see:”参见”
@exception:抛出的异常
@throws:抛出的异常和exception同意
应用范围:
类和接口文档中的注释的标记:@author @version @see @deprecated
方法和构造方法的注释中的标记:@deprecated @param @return @see @exception @throws:
属性文档注释中的标记:@see @deprecated
六. 运算符
移位运算
负数等于正数取反加一
>>n 右移n位,高位用符号位填充。
无符号右移 >>>n 右移n位,高位用0填充
<<n,左移n位,低位用0填充
七. 控制语句
if…else 语句
switch语句:
switch (expr1){
case expr2:
statements;
break;
case expr3:
statements;
break;
default:
statements;
break;
}
(1) expr1只能是整数型的值或enum枚举类型的常量值,包含byte,short,int,char,不能是字符串或对象,也不能是long型的值。
(2) 变量或表达式不与任何case值相匹配时,则执行缺省符中的程序代码。(与default位置无关)
(3) 若没break语句作为结束句,则程序继续执行到下一个CASE,而不检查case表达式的值。
for 循环
for(int I; i<10; i++)
for 语句中的三个部分都可以省略,但不建议这么做
while 循环
do 循环
do {
语句或块;
}while (布尔测试);
do循环与while循环的不同之处在于,前者至少执行一次,后者可能一次都不执行。
特殊循环流程控制:
break:用来从switch语句,循环语句,和预先给定了label的块中退出,跳出离break最近的循环。
continue:用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。
label:标识需要转换到的任何有效语句,被用来标识循环构造的复合语句。
八.什么是按值传递?什么是按引用传递?哪些是按值传递?哪些是按引用传递?
按值传递传递的是值的副本,如果方法修改了该参数,仅改变副本,而原始值保持不变。
按引用传递指的是在方法调用时,传递的参数是按引用进行传递,其实传递的是引用的
地址,也就是变量所对应的内存空间的地址。因此,如果方法修改了该参数,调用代码
中的原始值也随之改变。
例:public class PassTest
{
float ptValue;
public void changeInt (int value)
{ value = 55; }
public void changeStr (String value)
{ value = new String ("different"); }
public void changeObjValue (PassTest ref)
{ ref.ptValue = 99f; }
public static void main (String args[])
{ String str;
Int val;
PassTest pt = new PassTest ();
val = 11;
pt.changeInt (val);
System.out.println ("Int value is: " + val);
str = new String ("Hello");
pt.changeStr (str);
System.out.println ("Str value is: " + str);
pt.ptValue = 101f;
pt.changeObjValue (pt);
System.out.println ("Current ptValue is: " + pt.ptValue);
}
}
这个程序最后输出的结果将是:
11
Hello
99f
第二章 基础语法.pdf
(100.78 KB)