02:注释、标识符、关键字与数据类型

Java基础语法(一)


注释

注释主要是作用于对编程代码的讲解;其包括单行注释、多行注释、文档注释。注释不会运行,只是为了方便查看代码的含义。代码实例如下:

public class HelloWord {
    public static void main(String[] args) {

        //单行注释:只能注释一行文字
        //输出一个 Hello Word !!!
        System.out.println("Hello Word !!!");

        /*
         多行注释:可以注释多行文字
         输出“多行注释”
         */
        System.out.println("Hello Word !!!");

        /**
         * 文档注释:是用来生成帮助文档的,是一种特殊的多行注释
         * @author  作者名
         * @version 版本号
         * @since 指明需要最早使用的jdk版本
         * @param 参数名
         * @return 返回值情况
         * @throws 异常抛出情况
         */
        System.out.println("Hello Word !!!");
    }
}

标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

关键字

关键字是被赋予特殊意义的一些单词;这些关键字不能用于常量、变量、和任何标识符的名称。如下所示:

类别 关键字 说明
访问控制 private 私有的
protected 受保护的
public 公共的
default 默认
类、方法和变量修饰符 abstract 声明抽象
class
extends 扩充,继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口
native 本地,原生方法(非 Java 实现)
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失
程序控制语句 break 跳出循环
case 定义一个值以供 switch 选择
continue 继续
default 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环
错误处理 assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常
包相关 import 引入
package
基本类型 boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
变量引用 super 父类,超类
this 本类
void 无返回值
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用
null

基本数据类型

Java的数据类型分为两大类:基本数据类型和引用数据类型(引用数据类型后面会提到)。如下图所示:

数据类型图

  • 基本数据类型,实例如下

            //整数
            int num1 = 10;      //最常用
            byte num2 = 20;
            short num3 = 30;
            long num4 = 40L;     //Long类型要在数字后面加L
    
            //整数扩展
            int i1 = 0b1010;    //二进制开头需要用0b表示
            int i2 = 010;       //二进制开头需要用0表示
            int i3 = 10;
            int i4 = 0x10;      //二进制开头需要用0x表示
    
            //浮点数
            float num5 = 5.1F;  //float类型要在数字后面加F
            double num6 = 3.1456888113;
    
            //字符
            char name = '字';
            //字符串,String不是关键字,是类
            //String nameA = “字符串”;
    
            //布尔值
            boolean flag1 = true;
            boolean flag2 = false;
    

数据转换

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

数据类型转换必须满足如下规则:

  • 不能对boolean类型进行类型转换。

  • 不能把对象类型转换成不相关类的对象。

  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 转换过程中可能导致溢出或损失精度,例如:

    int i =128;   
    byte b = (byte)i;
    

    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

  • 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

    (int)23.7 == 23;        
    (int)-45.89f == -45
    

自动类型转换

必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。即转换从低级到高级。

低  ------------------------------------>  高

byte,short,char—> int —> long—> float —> double 

实例如下:

public class Demo02 {
    public static void main(String[] args) {
        char c1='a';//定义一个char类型
        int i1 = c1;//char自动类型转换为int
        System.out.println("char自动类型转换为int后的值等于"+i1);
        char c2 = 'A';//定义一个char类型
        int i2 = c2+1;//char 类型和 int 类型计算
        System.out.println("char类型和int计算后的值等于"+i2);
    }
}

运行结果为:

char自动类型转换为int后的值等于97
char类型和int计算后的值等于66

解析:c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66

强制类型转换

强制转换的条件是转换的数据类型必须是兼容的。转换由高到低。

格式如下:

数据类型 变量名 = (数据类型)变量名
或
(数据类型) 转换值

实例:

public class Demo03 {
    public static void main(String[] args) {
        int i1 = 123;
        byte b = (byte)i1;//强制类型转换为byte
        System.out.println("int强制类型转换为byte后的值等于"+b);
    }
}

运行结果为:

int强制类型转换为byte后的值等于123

转义字符

符号 字符含义
\n 换行 (0x0a)
\r 回车 (0x0d)
\f 换页符(0x0c)
\b 退格 (0x08)
\0 空字符 (0x0)
\s 空格 (0x20)
\t 制表符
" 双引号
' 单引号
\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 16进制Unicode字符 (xxxx)

包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

包的语法格式为:

package 包名;

一般利用公司域名作为包名;

如果需要在Java程序中明确导入一个包,则使用“import”语句即可完成;格式如下:

import 包名.类名;
posted @ 2021-07-27 19:37  Happy*^_^*  阅读(53)  评论(0)    收藏  举报