Java重修之路(二)第一个程序分析,注释,关键字,标识符,常量,进制转换,类型转换

来源:互联网 发布:菲利普斯曲线知乎 编辑:程序博客网 时间:2024/04/24 02:36

Java重修之路(二)第一个程序分析,注释,关键字,标识符,常量,进制转换,类型转换

  • 第一个java程序

    写java代码有很多智能化的IDE工具,功能非常强大,但是不利用学习使用,推荐使用文本编辑器,如NotePad++(考虑到效率问题,作者采用eclipse)。

    写好一个java文件之后,将文件保存,文件的后缀名必须是.java 然后在dos下进入此文件所在目录,进行编译执行:

注意:

       1.在编译的时候 javac后边需要跟上完整的文件名,在执行的时候,即java后边不需要加文件名后缀。

       2.第一个命令完成之后会在当前目录下出现一个同名的以.class 为后缀的字节码文件,这个字节码文件才是运行时机器识别的文件,所以,如果在javac编译之后,手动将字节码文件删除,在通过java命令运行,则会出错,需要再次编译,然后运行。

       3.文件名必须与类名一致,一个文件可以有多个类,但是只能有一个public类。

  • 代码分析

public class Hello {    // public是权限修饰符 class是关键字 Hello是类名    public static void main(String[] args) {        // void 是返回类型 main 是主方法 是确定的        System.out.println("Hello Java!");        // 打印 Hello Java!    }}

  • 注释

  1. 单行注释  //这是注释
  2. 多行注释   /*这里可以注释多行*/
  3. 文档注释   文档注释放在一个变量或者函数之前,用javadoc命令自动生成,在后边会介绍到
  • 关键字

  1. abstract 表明类或者成员方法具有抽象属性

  2. boolean 基本数据类型之一,布尔类型
  3. break 提前跳出一个块
  4. byte 基本数据类型之一,字节类型
  5. case 用在switch语句之中,表示其中的一个分支
  6. catch 用在异常处理中,用来捕捉异常
  7. char 基本数据类型之一,字符类型
  8. class 类
  9. const 保留关键字,没有具体含义
  10. continue 回到一个块的开始处
  11. default 默认,例如,用在switch语句中,表明一个默认的分支
  12. do 用在do-while循环结构中
  13. double 基本数据类型之一,双精度浮点数类型
  14. else 用在条件语句中,表明当条件不成立时的分支
  15. enum 枚举
  16. extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
  17. final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
  18. finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
  19. float 基本数据类型之一,单精度浮点数类型
  20. for 一种循环结构的引导词
  21. goto 保留关键字,没有具体含义
  22. if 条件语句的引导词
  23. implements 表明一个类实现了给定的接口
  24. import 表明要访问指定的类或包
  25. instanceof 用来测试一个对象是否是指定类型的实例对象
  26. int 基本数据类型之一,整数类型
  27. interface 接口
  28. long 基本数据类型之一,长整数类型
  29. native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
  30. new 用来创建新实例对象
  31. package 包
  32. private 一种访问控制方式:私用模式
  33. protected 一种访问控制方式:保护模式
  34. public 一种访问控制方式:共用模式
  35. return 从成员方法中返回数据
  36. short 基本数据类型之一,短整数类型
  37. static 表明具有静态属性
  38. strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
  39. super 表明当前对象的父类型的引用或者父类型的构造方法
  40. switch 分支语句结构的引导词
  41. synchronized 表明一段代码需要同步执行
  42. this 指向当前实例对象的引用
  43. throw 抛出一个异常
  44. throws 声明在当前定义的成员方法中所有需要抛出的异常
  45. transient 声明不用序列化的成员域
  46. try 尝试一个可能抛出异常的程序块
  47. void 声明当前成员方法没有返回值
  48. volatile 表明两个或者多个变量必须同步地发生变化
  49. while 用在循环结构中

关键字简单分类:


  • 标识符

  1. 标识符的组成:字母、下划线、美元符开头,由数字、字母、下划线、美元符组成,
  2. 区分大小写,长度没有限制,
  3. 不能包含空格或者其他符号,
  4. 数字不能开头
  5. 不能使用关键字

java源代码使用的是Unicode码,不是ASCII码,Unicode使用16位无符号二进制表示一个字符,因此Unicode中的字符可达65535个,比ASCII码的255 大得多。

  • 命名规范

  1. 类名:每个单词的首字母都大写,其他小写,如:HelloWorld
  2. 接口:接口是一种特殊的类。命名约定于类相同
  3. 方法:首字母小写,其他各单词首字母大写  如:getName
  4. 常量:简单类型常量的所有单词都大写,单词之间用下划线分隔开 如:RESULT_CODE
  5. 变量:与方法命名约定相似,但是变量名中不要使用下划线
  6. 命名要有意义
  • 常量


单引号包裹的指字符常量,一对单引号只能包一个字符;双引号里面包裹的为字符串。

  • 进制转换

  进制转换是必须要掌握的内容  这里做一个演示   把十进制的数转换为二进制

跟做除法求余数的方法类似,十进制转换为八进制也是一样的方法。

二进制转十进制:

10011=1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=19 

其他进制转十进制也是一样的方法


另外还有负数的表现形式:源码反码补码等等,以及转换,这些基础知识都需要掌握,这里不多说了

  • 变量

变量:将不确定的数据进行存储,需要在内存中开辟一片内存空间。为这片内存命名即为变量名,还要明确这块内存里面可以存储的数据类型。

数据类型:

Java基本数据类型分为基本数据类型和复合数据类型,基本数据类型分为3类,数值类型、字符类型、布尔类型。复合数据类型分为:类类型、数组、接口类型interface。

整数类型:

类型     长度     字节数     表示范围

byte        8           1            -2^7~2^7-1

short     16           2            -2^15~2^15-1

int          32          4            -2^31~2^31-1

long       64          8            -2^63~2^63-1


float       32          4             1.4*e^-45~3.4*e^38  赋值时后边必须要加f或F  如:float y=2.6f;

double   64          8              4.9*e^-324~1.8*e^308


char        16         2

boolean   8           1    Java中不能用0、1表示true或者false


  • 类型转换

类型转换如果大的向小的转换,容易丢失精度:

这里在给b赋值时,会自动检查b有没有超出范围,byte的最大值是127,如果超过127会报错,让你强制转换,这里赋值3没有问题,但是在加上一个数,就不确定是否超出返回,这里会提醒可能回丢失精度。


这里运算结果就出错。原因就是超出byte所能表示的范围


这里就涉及到ASCII码和进制转换。先将字符a根据ASCII转换为97 然后97+1输出


再根据ASCII将数字转换回来

数字也有ASCII码


文章已经挺长了,就不继续了,下一篇再接着写。



0 0