《Java语言程序设计》学习笔记(3.1)

标识符与数据类型

Java基本语法
语句、语句块

​ Java中以分号来作为语句的分隔符号,一个大括号包括的语句为一个语句块,程序中允许出现任意数量的空格。

注释
  1. // 行内注释,表示从该符号开始到该行结束全是注释内容;
  2. /* */ 多行注释,表示这两个符号之间的所有语句全是注释内容;
  3. /** */ 文档注释,表示这两个符号之间的文本将自动包含在用javadoc命令生成的HTML格式的文档中。
标识符
标识符定义规则
  1. 以字母、"_"、"$"开始,且必须为字符序列;
  2. 数字不能作为标识符的第一个字符;
  3. 标识符不能是Java语言的关键字,但可用关键字作为标识符的一部分;
  4. 大小写敏感,长度也没有限定。

​ Java与C语言不同的是它不采用计算机系统通常采用的ASCII代码集而是采用Unicode。这种字符集中每一个字母都用十六位表示,整个字符集中包含65536个字符,除了A到Z、a到z和数字0到9之外还涵盖了多国语言中的符号。

标识符风格约定
  1. 对于变量名和方法名,不用"_“和”$"作标识符的第一个字符,因为这两个字符对于内部的方法具有特殊含义;
  2. 类名、接口名、变量名和方法名采用大小写混合的形式,每个单词的首字母大写,其余字母小写。但变量名和方法名的第一个单词小写(例如anyVariableWord);而类名和接口名则是第一个单词首字母大写(例如HelloWorld);
  3. 常量名完全大写并且用下划线作为标识符中各个单词的分隔符,例如MAXIMUM_SIZE;
  4. 方法名用动词,类名和接口名用名词;
  5. 变量名应该能表示一定的含义,尽量不使用单个字符作为变量名。但一些临时变量如循环控制变量可以采用i、j、k等。
关键字
关键字含义
abstract表明类或者成员方法具有抽象属性
assert断言,用来进行程序调试
boolean基本数据类型之一,声明布尔类型的关键字
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class声明一个类
const保留关键字,没有具体含义
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
do用在do-while循环结构中
double基本数据类型之一,双精度浮点数类型
else用在条件语句中,表明当条件不成立时的分支
enum枚举
extends表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float基本数据类型之一,单精度浮点数类型
for一种循环结构的引导词
goto保留关键字,没有具体含义
if条件语句的引导词
implements表明一个类实现了给定的接口
import表明要访问指定的类或包
instanceof用来测试一个对象是否是指定类型的实例对象
int基本数据类型之一,整数类型
interface接口
long基本数据类型之一,长整数类型
native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new用来创建新实例对象
package
private一种访问控制方式:私用模式
protected一种访问控制方式:保护模式
public一种访问控制方式:共用模式
return从成员方法中返回数据
short基本数据类型之一,短整数类型
static表明具有静态属性
strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754]算术规范
super表明当前对象的父类型的引用或者父类型的构造方法
switch分支语句结构的引导词
synchronized表明一段代码需要同步执行
this指向当前实例对象的引用
throw抛出一个异常
throws声明在当前定义的成员方法中所有需要抛出的异常
transient声明不用序列化的成员域
try尝试一个可能抛出异常的程序块
void声明当前成员方法没有返回值
volatile表明两个或者多个变量必须同步地发生变化
while用在循环结构中
基本数据类型
逻辑型:boolean

​ boolean类型的变量有两种取值:true和false。其在机器中只占一位。boolean类型的变量默认初始值为false。定义语句:boolean truth = true;

​ 与其他高级语言不同,Java中的布尔值不能和0、1相互转换,即false和true在Java里面并不对应任何零或非零的整数值。

文本型:char和String
char

​ char是一个16位的Unicode字符,用单引号表示。默认初始值是\u0000。与C语言一样,一些控制字符需要利用转义序列来表示。

​ 常见转义字符:

转义字符意义ASCII码值(十进制)
\a响铃(BEL)007
\b退格(BS) ,将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF),将当前位置移到下一行开头010
\r回车(CR),将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\\代表一个反斜线字符092
\’代表一个单引号(撇号)字符039
\""代表一个双引号字符034
\0空字符(NULL)000
\ddd1到3位八进制数所代表的任意字符三位八进制
\xhh1到2位十六进制所代表的任意字符二位十六进制

char类型到int类型的转换:

public class CharToInt {
    public static void main(String[] args) {
        int intResult,intVar = 10;
        char charVar = '语';
        intResult = intVar + charVar;
        System.out.println("The char is: " + charVar);
        System.out.println("The char's Unicode is: \\u" + Integer.toHexString(charVar));
        System.out.println("The int value corresponding to the char is: "
                             + new Integer(charVar).toString());
        System.out.println("Int " + intVar + " adds the char, the result is : " + intResult);
    }    
}
/*
结果:
The char is: 语
The char's Unicode is: \u8bed
The int value corresponding to the char is: 35821
Int 10 adds the char, the result is : 35831
*/
String

​ String不是一个变量类型而是一个类。字符串在Java中是一个对象,可以用String和StringBuffer这两个类来表达,前者表示的字符串不能够修改,而后者可以。此外,与C不同,Java中字符串不以’\0’为结束符。定义字符串时要用双引号,例如String name = "Rick";StringBuffer simpleGreet = "How are you?";

整形:byte、short、int和long

​ 这四种整数类型的区别主要在于长度,也就是能够表达的数字的范围有区别,从他们长度的位数可以推知他们所能够表达的数字范围:byte 8位、short 16位、int 32位、long 64位。(char 16位)

​ 所有整型变量的默认初始值都是0,默认类型是int。

​ 如果一个数超出计算机的表达范围,这种现象称为溢出,超出最大值称为上溢,超出最小值称为下溢。最大值+1后产生上溢变成同类型的最小值,最小值-1后产生下溢变成同类型的最大值。

​ 整形常量可以有3种形式:十进制、八进制和十六进制。int类型:八进制表示以整数0为前导;十六进制表示以0X或0x为前导。long类型:八进制和十六进制都是在int的同种表达方式后面加大写或小写(建议用大写)的L作后缀。

浮点型:double和float

​ float 32位,double 64位。

​ 浮点型变量的初始默认值是0.0,默认类型是double,而且在运算过程中不会因为溢出而导致异常处理,上溢时结果为正负无穷大,下溢时结果为0.0,如果出现数学上无定义的值就表示为NaN(如除数为零时的除法结果)。

​ 浮点型常量还可以用科学计数法来表示用E或e,如6.02E23。还可以用F或f来表示float类型的常量,用D或d来表示double类型的常量,如3.14e5F,6.02E23d。

基本数据类型的声明与赋值:

public class Basic{
    public static void main(String[] args) {
        int x,y;
        float z = 3.414f;
        double w = 3.1415;
        boolean truth = true;
        char c;
        String str;
        String str1 = "bye";
        c = 'A';
        str = "Hi out there";
        x = 6;
        y = 10000;
        System.out.println("x = " + x);
        System.out.println("y = " + y);
        System.out.println("z = " + z);
        System.out.println("w = " + w);
        System.out.println("truth = " + truth);
        System.out.println("c = " + c);
        System.out.println("str = " + str);
        System.out.println("str1 = " + str1);
    }
}
/*
结果:
x = 6
y = 10000
z = 3.414
w = 3.1415
truth = true
c = A
str = Hi out there
str1 = bye
*/
复合数据类型

​ 用class创建一个复合数据类型。

public class MyDate{
    public static void main(String[] args) {
        class OwnDate{
        int day;
        int month;
        int year;
        }
        OwnDate a;
        a = new OwnDate();		//实例化,开辟数据空间
        a.day = 5;
        a.month = 2;
        a.year = 2020;
        System.out.println(a.year + "." + a.month +"." + a.day);
    }
}
/*
结果:
2020.2.5
*/
基本类型变量和引用类型变量

​ 基本类型变量:包含了值,值的长度和格式符合变量所属数据类型的要求。

​ 引用类型变量:变量值是指向内存空间的引用(地址),所指向的内存中保存着一个值或一组值。在其他语言中引用也叫作指针或内存地址。但是Java不支持显式使用内存地址,而必须通过变量名对某个内存地址进行访问。

​ Java中基本类型变量声明时系统自动给该变量分配空间,因此基本变量的声明就很简单,声明完就可以直接使用。而引用类型变量在声明时只是给该变量分配了引用空间,数据空间并未分配,因此引用类型变量在声明后不能直接使用,还要给其分配数据空间(将类实例化)。引用型变量之间的赋值也是引用型赋值(直接将两个变量的引用指向同一地址)。

​ 声明引用型变量的例子如下(部分代码)。

//错误方法:
class MyDate{
    int day;
    int month;
    int year;
}
MyDate a;
a.day = 5;		//错误!数据空间未分配就直接使用。

//正确方法:
class MyDate{
    int day;
    int month;
    int year;
}
MyDate a;
a = new MyDate();		//分配数据空间。
a.day = 5;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值