Java学习笔记_day2

来源:互联网 发布:python聚类结果可视化 编辑:程序博客网 时间:2024/06/16 08:01

Java学习笔记

关键字

组成关键字的字母全部小写

goto和const作为保留字存在,目前并不使用
常见关键字:

这里写图片描述
这里写图片描述

标识符

就是给类,接口,方法,变量等起名字时使用的字符序列

组成规则

  • 英文大小写字母
  • 数字字符
  • $和_

注意事项
- 不能以数字开头
- 不能是Java中的关键字
- 区分大小写
命名规则

  1. 包(其实就是文件夹,用于解决相同类名问题)
    全部是小写
    单级包:haotianyi
    多级包:cn.hty
  2. 类或者接口
    一个单词:首字母大写
    多个单词:每个大单词首字母大写 ShowAllAge
  3. 方法和变量
    一个单词:单词的首字母小写 age
    多个单词:从第二个单词开始,单词的首字母大写 showAllAge
  4. 常量
    一个单词:每个字母全部大写
    多个单词:每个字母全部大写,单词之间用下划线隔开

Java中注释

  • 单行注释
    格式: //注释文字
  • 多行注释
    格式: /* 注释文字 */
  • 文档注释
    格式:/* 注释文字 /

多行注释不可以嵌套使用,单行才可以嵌套使用,文档注释主要是被javadoc工具解析成一个说明书,先写注释在写代码

注释的作用

  • 解释说明程序,提高程序的阅读性
  • 可以帮助我们排错

常量constant

在程序执行的过程中其值不可以发生改变

Java中常量分类

  1. 字面值常量
    字符串常量 用双引号括起来的内容
    整数常量 所有整数
    12,23
    小数常量 所有小数
    12.34,56.78
    字符常量 用单引号括起来的内容
    ‘a’,’A’,’0’
    布尔常量 较为特有,只有true和false
    空常量 null(数组部分讲解)
  2. 自定义常量

不同进制的数据组成

  • 二进制
    由0,1组成。以0b开头
  • 八进制
    由0,1,…7组成。以0开头
  • 十进制
    由0,1,…9组成。整数默认是十进制的
  • 十六进制
    由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

不同进制之间的转换

  • 十进制到其他进制

    用原始数据除以要转换的进制数,直到被除数是0为止,然后从下到上得到余数

  • 其他进制到十进制

    用每位的数字在乘以进制的不同次幂
    由符号数据表示法
    在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。

原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。

变量variable

在程序执行的过程中,在某个范围内其值可以发生改变的量
数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间
数据的范围

数据注意
一个字节8个比特

整数默认:int 小数默认:double

如要声明一个常量为 float 型,则需在数字后面加 f 或 F
声明long型常量可以后加‘ l ’或‘ L ’

数据类型的转换

  • 默认转换
    byte,short,char—int—long
    byte,short,char相互之间转换,他们参与运算首先转换为int类型
  • 目标类型 变量名=(目标类型)(被转换的数据);
    byte,short在定义的时候,他们接收的其实是一个int类型的值。
    这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。

思考题

  1. byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?
  2. 字符参与运算
    是查找ASCII里面的值
    ‘a’ 97
    ‘A’ 65
    ‘0’ 48
  3. 下面两种方式有区别吗?
    float f1 = 12.345f;
    float f2 = (float)12.345;
    下面的程序有问题吗,如果有,在哪里呢?
    byte b1 = 3;
    byte b2 = 4;
    byte b3 = b1 + b2;
    byte b4 = 3 + 4;

参考:
1用原码反码补码来计算
2是f1就是float类型的数据但是f2是int去掉前面三个字节截取而得
3两个byte类型的数据相加直接转换成int类型,由低级向高级装换可以隐士转换,高级向低级转换一定要显示,是b3错误,换成short一样错误
复习题
1:在定义Long或者Float类型变量的时候,要加L或者f。
整数默认是int类型,浮点数默认是double。

byte,short在定义的时候,他们接收的其实是一个int类型的值。
这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。

2:byte值的问题
byte b1 = 127;
byte b2 = (byte)128; //-128
byte b3 = (byte)129; //-127
byte b4 = (byte)130; //-126

byte的范围:-128 ~ 127128:10000000-128:10000000 (这里的1即是符号位,也是数值位)

3:数据类型转换之默认转换
byte,short,char – int – long – float – double

long: 8个字节float:4个字节A:它们底层的存储结构不同。B:float表示的数据范围比long的范围要大    long:2^63-1    float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

4:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为java语言中的字符占用两个字节。

Java语言采用的是Unicode编码。
0 0
原创粉丝点击