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! }}
注释
- 单行注释 //这是注释
- 多行注释 /*这里可以注释多行*/
- 文档注释 文档注释放在一个变量或者函数之前,用javadoc命令自动生成,在后边会介绍到
关键字
abstract 表明类或者成员方法具有抽象属性
- boolean 基本数据类型之一,布尔类型
- break 提前跳出一个块
- byte 基本数据类型之一,字节类型
- case 用在switch语句之中,表示其中的一个分支
- catch 用在异常处理中,用来捕捉异常
- char 基本数据类型之一,字符类型
- class 类
- const 保留关键字,没有具体含义
- continue 回到一个块的开始处
- default 默认,例如,用在switch语句中,表明一个默认的分支
- do 用在do-while循环结构中
- double 基本数据类型之一,双精度浮点数类型
- else 用在条件语句中,表明当条件不成立时的分支
- enum 枚举
- extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
- final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
- finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
- float 基本数据类型之一,单精度浮点数类型
- for 一种循环结构的引导词
- goto 保留关键字,没有具体含义
- if 条件语句的引导词
- implements 表明一个类实现了给定的接口
- import 表明要访问指定的类或包
- instanceof 用来测试一个对象是否是指定类型的实例对象
- int 基本数据类型之一,整数类型
- interface 接口
- long 基本数据类型之一,长整数类型
- native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
- new 用来创建新实例对象
- package 包
- private 一种访问控制方式:私用模式
- protected 一种访问控制方式:保护模式
- public 一种访问控制方式:共用模式
- return 从成员方法中返回数据
- short 基本数据类型之一,短整数类型
- static 表明具有静态属性
- strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
- super 表明当前对象的父类型的引用或者父类型的构造方法
- switch 分支语句结构的引导词
- synchronized 表明一段代码需要同步执行
- this 指向当前实例对象的引用
- throw 抛出一个异常
- throws 声明在当前定义的成员方法中所有需要抛出的异常
- transient 声明不用序列化的成员域
- try 尝试一个可能抛出异常的程序块
- void 声明当前成员方法没有返回值
- volatile 表明两个或者多个变量必须同步地发生变化
- while 用在循环结构中
关键字简单分类:
标识符
- 标识符的组成:字母、下划线、美元符开头,由数字、字母、下划线、美元符组成,
- 区分大小写,长度没有限制,
- 不能包含空格或者其他符号,
- 数字不能开头
- 不能使用关键字
java源代码使用的是Unicode码,不是ASCII码,Unicode使用16位无符号二进制表示一个字符,因此Unicode中的字符可达65535个,比ASCII码的255 大得多。
命名规范
- 类名:每个单词的首字母都大写,其他小写,如:HelloWorld
- 接口:接口是一种特殊的类。命名约定于类相同
- 方法:首字母小写,其他各单词首字母大写 如:getName
- 常量:简单类型常量的所有单词都大写,单词之间用下划线分隔开 如:RESULT_CODE
- 变量:与方法命名约定相似,但是变量名中不要使用下划线
- 命名要有意义
常量
单引号包裹的指字符常量,一对单引号只能包一个字符;双引号里面包裹的为字符串。
进制转换
进制转换是必须要掌握的内容 这里做一个演示 把十进制的数转换为二进制
跟做除法求余数的方法类似,十进制转换为八进制也是一样的方法。
二进制转十进制:
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码
文章已经挺长了,就不继续了,下一篇再接着写。
- Java重修之路(二)第一个程序分析,注释,关键字,标识符,常量,进制转换,类型转换
- 黑马程序员——Java基础(二)之关键字、标识符、注释、常量、变量、进制转换
- JAVA_Day_02(注释 关键字 标识符 常量 进制转换 变量 数据类型 (类型转换))
- 2 Java基础语法(关键字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换)
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- 关键字|标识符|注释|常量|进制转换|变量|数据类型|数据类型转换
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- Java基础——标识符+常量与变量+类型转换+进制转换+运算符+程序流程结构控制
- Java关键字,标识符,注释类别,类型定义,类型转换,整数转换及关键词,运算
- Java基础知识 二(关键字、标识符、注释、数据类型、数据类型的转换)
- 【关键字】【标识符】【常量】【变量】【进制转换】【运算符】
- 2Java注释、标识符、数据类型、类型转换
- JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算
- JavaSE_2th_标识符、关键字、基本数据类型、类型转换、变量和常量
- 了解JAVA,注释,API文档,关键字和标识符,进制转换
- Java标识符,注释,数据类型,变量,常量,数据类型转换
- Java语法基础之关键字、标识符、注释、常量和变量
- java基础复习之四:注释,标识符,关键字, 变量,常量
- Android 广播监听网络状态
- java 实现导出图片-zip压缩包方式
- 【自用】双击返回键退出
- 腾讯图片无损压
- 【洛谷 1449】 后缀表达式
- Java重修之路(二)第一个程序分析,注释,关键字,标识符,常量,进制转换,类型转换
- B.含蓄的情书
- ios developer tiny share-20161019
- 由于系统缓冲区空间不足或队列已满,不能执
- yum
- poj2116
- 1min初识SwipeRefreshLayout
- 【自用】Android中一个简单的计时器,用Handler加Runnable线程实现
- 数据库优化