Chapter2 常量与变量

Lecture1 标识符与关键字

  • 标识符
  1. 可以由字母、数字、下划线(_)和美元符($)组成,且不能使用数字开头
  2. Java标识符严格区分大小写
  3. 标识符不能使用Java的关键字和保留字
  4. 标识符的命名最好能反映其作用
  • 关键字:
abstractbooleanbreakbytecasecatch
charclasscontinuedefaultdodouble
elseextendsfalsefinalfinallyfloat
forifimplementsimportnativeint
interfacelonginstanceofnewnullpackage
privateprotectedpublicreturnshortstatic
superswitchsynsynchronizedthisthrowthrows
trantransienttruetryvoidvolvolatilewhile
  • 保留字:暂且保留,现在不使用以后可能会使用,如goto

Lecture2 变量的概念与数据类型

  • 变量的三个元素:变量类型、变量名和变量值
  • 变量的命名规则:

    1. 满足标识符的命名规则
    2. 符合驼峰法命名规则,即组成变量名的第一个单词全部小写,之后的单词首字母大写,例如:age、studentName
    3. 尽量简单,做到见名知意
    4. Java变量名的长度没有限制
  • 类名的命名规则:满足Pascal命名规范,即组成类名的每一个单词首字母大写
  • 数据类型:

《Chapter2 常量与变量》

  • 基本数据类型详解
数据类型说明字节
byte字节型1
short短整型2
int整形4
long长整型8
float单精度浮点型4
double双精度浮点型8
char字符型2
boolean布尔型1

Lecture3 数据类型的字面值及变量定义

  • 整形字面值:默认为int类型;Java中表示整数的三种方法–八进制(以0开头),十进制,十六进制(以0X或0x开头),Java不能直接表示二进制,需要进行转换
  • 变量的声明: 变量类型 变量名;
  • 赋值:使用“ = ”运算符进行赋值,将“ = ”(赋值运算符)右边的值赋值给左边的变量;可以在声明变量的同时对变量进行赋值,即变量的初始化,例如int a = 1;
  • 浮点型字面值:默认为double类型(也可以在值得末尾加d或D表示,例如double d1 = 1.23d;double d2 = 1.23D;);如要表示float类型需要在字面值后面加f或F,例如float f1 = 1.23f;float f2 = 1.23F;;使用科学计数法表示浮点数:指数e尾数指数E尾数
  • 浮点型案例:
public class FloatDemo {
    public static void main(String[] args) {
        //定义一个单精度浮点型变量,存放123.456
        float f = 123.456f;
        System.out.println("f = "+f);
        //定义一个单精度浮点型变量,存放9876.54321
        double d1 = 9876.54321;
        System.out.println("d1 = "+d1);
        //将整形赋值给浮点型
        double d2 = 123;
        System.out.println("d2 = "+d2);
        //变量间的赋值
        double d3 = d1;
        System.out.println("d3 = "+d3);
    }
}
  • 类定义的变量又叫对象
  • 局部变量的储存方式:数据类型按照作用范围分为–类级、对象实例级、方法级(局部变量)、块级;

《Chapter2 常量与变量》

  • 字符型字面值:字符型字面值有单引号单个字符表示,例如’A’, ‘$’, ‘1’等;
  • ASCII码(American Standard Code for Information Interchange):美国标准信息交换代码;使用7或8位表示128位(标准ASCII码)或者256位(扩展ASCII码)可能的字符
  • 字符型案例:
public class CharDemo {
    public static void main(String[] args) {
        //定义一个变量存放字符'a'
        char a = 'a';
        System.out.println("a = "+a);
        //使用ASCII码输出字符型变量
        char ch1 = 65;
        System.out.println("ch1 = "+ch1);
        //如果字面值超出char类型所表示的数据范围,需要进行强制类型转换
        char ch2 = (char)65536;
        System.out.println("ch2 = "+ch2);
    }
}
  • Unicode编码:又称为统一码、万国码,目标是支持世界上所有的字符集;表示方法–在4位16进制前加前缀u,例如“u005d”(Java的字符串使用Unicode编码的UTF-8)
  • 布尔类型和字符串的字面值:布尔类型字面值只有true和false两种,例如boolean b = true;;字符串不属于基本数据类型,它是类,字符串字面值是使用双引号引起的0个或多个字符;
  • 字符串类型案例:
public class StringDemo {
    public static void main(String[] args) {
        //定义一个空字符串
        String str1 = "";
        System.out.println("str1 = "+str1);
        //定义一个字符串存放”hello”
        String str2 = "hello";
        System.out.println("str2 = "+str2);
        //定义一个字符串存放Unicode编码的内容
        String str3 = "\u005d\u005e";
        System.out.println("str3 = "+str3);
        //定义一个包含Unicode编码内容的字符串
        String str4 = "A\u005d\u005eC";
        System.out.println("str4 = "+str4);
        //定义一个包含空格字符串
        String str5 = "hello    world";
        System.out.println("str5 = "+str5);
    }
}
  • 转义字符:
转义字符描述
单引号字符
双引号字符
\反斜杠字符
r回车
n换行
t制表
b退格

Tips:回车和换行的区别:回车–光标回到此行的开头,换行–光标跳转到下一行

Lecture4 数据类型转换

  • 类型转换分为自动(隐式)类型转换强制(显式)类型转换
  • 自动类型转换:

《Chapter2 常量与变量》

精度丢失原因:占位,有时间会更新相应文章解释原因

  • 强制类型转换:如果A类型数据的表示范围比B类型大,则将A类型的值赋值给B类型,需要强制类型转换;格式:(数据类型)数值;
  • 数据类型转换案例:
public class TypeExchange {
    public static void main(String[] args) {
        //char类型和int类型之间的转换
        char c = (char)65536;
        int n;
        n = c;//隐式类型转换

        //整形和浮点型的类型转换问题
        int x = 100;
        long y = x;
        x = (int)y;//强制类型转换

        float f = 123456789000000L;
        System.out.println("f = "+f);//隐式类型转换,但发生精度丢失
    }
}

Lecture5 常量

  • 常量:使用final关键字进行修饰;常量定义后值不可改变;常量的命名规则:使用大写字母表示,例如PI、GRAVITY;字面值也叫常量
    原文作者:董先森
    原文地址: https://segmentfault.com/a/1190000013058979
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞