Java第二天-Java的前奏

区分是否是程序员的方法之二:push的反义词是什么?非程序员:pull,程序员:pop

关键字

在Java程序中,已经定义好的被预先使用的一些特殊的单词称为关键字 ,一共有50个关键字 (48+2个保留字) ,关键字都是小写的英文单词 。

数据类型关键字

byte :字节类型
​short : 短整型
int : 整型
​long: 长整型
float :单精度浮点型
double:双精度浮点型
char: 字符型
boolean : 布尔类型
void :空类型
null :空对象

流程控制关键字

if: 条件分支判断
else:条件分支
switch: 条件分支判断
case : 条件分支其中一种情况
default : 默认
break: 退出条件 或 循环
continue : 退出当前循环,继续下一次循环
for : 循环
do: 循环
while : 循环
return:方法的返回

面向对象关键字

class:定义类
​ interface : 定义接口
​ extends:继承一个类
​ implements: 实现一个接口
​ super : 超级 (用于调用父类的成员)
​ this: 当前类
​ instanceof : 判断一个类的类型
​ import : 导入一个类
​ package : 定义一个类所在的包
​ new : 创建对象

修饰符关键字

abstract :修饰抽象类 、抽象方法
​ final : 修饰常量
​ native: 本地的 ,也用于修饰变量
​ private :私有的
​ protected : 受保护的
​ public : 公共的
​ static :静态的
​ synchronized :修饰方法或代码块,用于线程安全的
​ transient :瞬时状态
​ volatile :瞬时状态

异常关键字

try:试一试
​ catch: 捕获异常
​ finally: 最后执行的代码块 ( 多出的一个)
​ throws :定义需要抛出的异常
​ throw:抛出异常

其他关键字

assert :测试中的断言
​ strictfp : 其他
​ enum:定义枚举

保留字

const 、goto

标识符

在Java程序中,所有由程序员自己命名的元素统称为“标识符” 。

标识符的命名

  • ​ 标识符由数字字母、**下划线和$**组成

  • ​ 标识符不能以数字开头

  • ​ 标识符区分大小写

  • ​ 标识符不能是关键字

注意事项

​ 定义类名的标识符 :首字母必须大写 ,后面的单词的首字母大写,准寻 大驼峰命名法 (例如 XxxXxx ,UserInfo ,Student)

​ 定义方法 标识符: 首字母尽量小写 ,后面的单词首字母大写,准寻 小驼峰命名法(例如 xxxXxxx , getUserName() )

​ 定义变量标识符: 单词全部小写 ( username)

​ 定义包名: 按模板分层级, 使用公司的域名倒写,(例如 com.softeem.xxx 、com.j2008.xxx)

​ 定义项目名: 尽量使用英文 (Java项目 可以使用中文,JavaWeb项目一定使用英文)

常量

在Java中,固定不变的数据量称为常量,常量也有内存,常量存放在被称为“常量池”的内存中 。

常量的分类

整数常量、小数常量、字符常量、字符串常量、布尔常量、空常量六种

变量

在Java中用于保存一个数据的最小内存单元 称为 “变量” ,变量中每次只能存放一个值 ,变量的数值是可以被改变的。

定义变量

//数据类型 变量名( = 初始值);
int a = 1;

Java的数据类型

Java是一门强类型的编程语言,它不同于一些弱类型的语言(JavaScript ,php,python),Java在声明变量时必须显示的定义变量的数据类型,变量的类型一旦定义,则不能改变 。Java中数据类型分为两大类

1、基本数据类型 : 包括 整数,浮点,字符,布尔类型等

2、引用数据类型 :包括 类,数组,集合,接口等

基本数据类型

整数类型

数据类型关键字字节长度数值范围
字节型byte1个字节=8位-128~127
短整型short2个字节=16位-32768~32767
整型int(默认)4个字节=32位-2的31次方 ~2的31次方-1
长整型long8个字节=63位-2的63次方~2的63次方-1

:整数型 ,默认值为0

浮点型

数据类型关键字字节长度范围
单精度float4个字节1.4013E-45~3.4028E+38
双精度double8个字节4.9E-324~1.7977E+308

:浮点型,默认值为0.0

字符型

数据类型关键字字节长度范围
布尔类型boolean1个字节true、false

:布尔型 默认值 false

常用转义符

对于字符类型中 "\ " 表示转义字符,不会占用内存

\n :表示换行

\t : 表示一个制表符tab

\b: 表示退格

\r: 表示enter

引用数据类型

在Java中除了8个基本数据类型以外的数据类型,都是引用数据类型 ,常用的引用数据类型 包括 类、数组、 接口,String 等。
:在这里就介绍下引用数据类型吧!后面再详细讲解,因为应用数据类型用到了Java的面向对象编程的知识。

数据转换

为什么需要进行数据转换?
在Java中数据进行计算时 ,必须要求计算的元素的数据类型一致,如果数据类型不一致需要进行转换。

自动类型转换

转换规则: 范围小的类型向范围大的类型转换(从小到大转换)

​ byte -> short -> int-> long -> float -> double 其中boolean类型不参与转换

​ char ->int

​ 转换原理: 类型向上提升

强制类型转换

整数之间的转化

         // int 类型
          int i=1;
         // byte 类型
         byte  j=100;
         // 由于i和j 不同类型,不能直接计算,程序会自动将j的类型向上提升为 int
         // 所以i +j 之后依然是  int 类型
         // 此时 int 的内存 大于  byte 的内存,会出现数据溢出的情况 ,JVM不允许
         // byte s = i + j ;   // 等号两遍类型不匹配
         int y = i + j ;
         System.out.println(y);

         // 如果一定要使用byte赋值,还有一种办法,就是将两遍类型一致
         byte s  = (byte)(i + j) ;   // 两个数在相加时 会先自动提升为int 然后再相加

整数和浮点数之间的转换

  // 整数和小数之前 也会丢失精度
        int n2 = 100;
        double n3 = 3.5;
        int n4 = (int)(n2 + n3);
        // 相加时先提升为 double ,然后相加后得到 double
        // double是8个字节 不能放在4个字节的长度中,
        // (这里好比double 为一桶水, int为一杯水,相当于将一桶水往一杯水中放)
        // 只能留住一本水的内容,所以  这里 如果强转成int 则小数会丢失,
        System.out.println(n4);

浮点数之间的转换

  // float  与 double 类型
        float f1 = 3.14f;
        double d2 = 3.5;
        double dd =  f1+d2;
        float  ff =  (float)(f1 + d2);

强转会让数据丢失精度

丢失精度案例

      // 强转时会丢失精度
        byte n=100;
        int  m = 30;
        byte mm = (byte)( n + m); // 因为最大值为127  再往后就是从最小值开始-128
        System.out.println(mm);

        // 整数和小数之间 也会丢失精度
        int n2 = 100;
        double n3 = 3.5;
        int n4 = (int)(n2 + n3);

ASCLL码

字符int值
a97
A65
048
依次小写字母往后都是数字 ,例如 b为98,c为99…
A:65 B:66 C:67 0:48 1:49 2:50…

字符与数值的转换

// int 与 char类型的转换
        // 每一个char类型都有一个字符编码 这个编码参照 ASICC码表
        char c='a';
        // 自动提升 : 因为 char类型占2个字节, int占4个字节,自动char向上提升
        int n = c;
        System.out.println(n);
        // 先相加 再转换
        char c2 = (char)(n+2);  // 需要强转
        // 字符+字符  直接相加
        char c3 = 'a'+'b';
        System.out.println((int)c3);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值