Java入门(一):基本概念,变量常量,运算符
Java入门(一)基本概念,变量常量,运算符
2017/9/26
by
CHENJING DING
CHAPTER1 – java入门基础知识
Jdk JVM JRE
Jdk和JVM,JRE之间的关系是,安装了JDK,就包含了JRE和JVM。具体含义见下图。
编译器,解释器
源文件的后缀名是.java。经过编译器后(javac命令)生成字节码文件,后缀名为.class。字节码文件经过解释器(java命令)才能运行。
三 使用Eclipse开发JAVA程序
步骤
- 创建JAVA程序 :File – New Java Project-命名-Finish
- 创建程序包(将很多代码放到一个文件夹下):在SRC下,右击,选择Add-Package-命名-Finish
- 编写java源程序:在程序包下,右击,New-Class-命名-Finish
- 运行java程序:右键-RunAs-Java Application
Eclipse自动完成了编译器将java文件编译成class文件的过程。
以下内容总结自慕课网视频:http://www.imooc.com/code/1177,红色标题部分以及红色标出部分为自己总结和补充内容
CHAPTER2 – 变量和常量
一 Java关键字
Java是区分大小写的,void是关键字,Void不是关键字
二 Java标识符
标识符就是用于给Java程序中变量,类,方法等命名的符号。
使用标识符,需要遵守如下规则:
1.标识符由字母,数字,下划线(_),美元符($)组成,但不能包含@、%、空格等其它特殊字符。不能以数字开头。
2.标识符不能是Java关键字和保留字。但可以包含关键字和保留字。比如不可以使用void,但可以使用Myvoid
3.标识符是区分大小写的
三 变量
通过三个元素描述变量:变量类型,变量名以及变量值
变量名
- 骆驼式命名法:第一个单词首字母小写,其后单词首字母大写,其余全部小写:myAge
- Java变量名的长度没有限制,但区分大小写
数据类型
Java中存储的数据类型必须在编译时就确定数据类型。Java中数据类型如下:
基本数据类型变量存的是数据本身,而引用数据类型存的是保存的数据的空间地址。其中,String 是一种常见的引用数据类型,用来表示字符串。
常用的基本数据类型
Float和Double比较
Java中默认浮点数是double类型,其存储结构如下图:从左到右是从低位到高位,而在计算机内部是采用逆序存储的
精度
精度是由尾数决定的。float的尾数:23位,其范围为:0~2^-23,而2^−23=1.1920929E-7 ,所以float的小数精度为7位。有效数字(从第一位不为0的数)为8位。例如:8317637.5,转换成科学记数法 8.3176375E6 有效数字是8位。同理,double的尾数:52位,2^−52=2.220446049250313E-16,精度最小是16位。
浮点数使用注意
程序中要尽量避免浮点数比较。比如:System.out.println(2.00-1.10);
输出的结果是:0.8999999999999999。因为1.10在计算机中不是精确存储的。
Java变量使用规则
- Java变量需要先声明后使用
- 可以声明变量的同时进行初始化,也可以先声明后赋值
四 Java中的类型转换
Java中的自动类型转换
满足2个条件才能进行自动类型转换:
1. 目标类型能与源类型兼容。Double兼容int,char可以转换成int,int不能自动转换成char
2. 目标类型长度大于源类型。比如double为8字节。Int为4字节,则int可以自动转换成double类型
例int sum = 105;double svm = sum/4;结果是svm= 26.0。
Java中的强制类型转换
语法:(数据类型)数值
强制类型转换可能会造成数据的丢失,比如直接截断小数部分而不是四舍五入。
Int 类型转成char三种方式:
1. 将整型强制类型转换为字符型,JVM会把数字当成字符的 ASCII编码来处理。例如字符 '('的 ASCII编码为 40,所以将整型 40强制类型转换为字符型,会得到字符 '('。
int a = 40;
char c =(char) a;
输出:(
2. 先转成字符串,再转成 char;
int a = 4;
String str= String.valueOf(a);
char[]array = str.toCharArray();
for (int i= 0; i < array.length; i++) {
System.out.print(array[i]);
}
3. 加上 48,因为 ASCII编码 48 到 57 为字符 '0' ~ '9'的编码。
五 java常量的应用
语法:final常量名 = 值。当常量的值被设定后,在程序运行过程中不允许改变。
常量名一般使用大写字符。
六 在java中使用注释
Java中注释一般有三种类型,单行注释,多行注释,文档注释
CHAPTER3 – 运算符
以下内容和C++一致,当然不代表java和C++中运算符都一样,比如java中没有逗号运算符等。
一 算数运算符
二 赋值运算符
三 比较运算符
比较的结果是布尔值。注意:
1. >, <, >=, <=只支持左右两边操作数是数值类型。Char类型在比较时可以自动转换成int类型比较,而boolean不行
2. ==, !=两边的操作数可以是数值类型,也可以是引用类型。
四逻辑运算符
短路现象
(one > two ) && ( one < three ) 中,如果能确定左边one > two 运行结果为false , 则系统就认为已经没有必要执行右侧的 one < three 啦
五条件运算符
?:也称三元运算符
语法形式:布尔表达式?表达式1:表达式2
运算过程:如果布尔表达式的值为true,则返回表达式1的值。否则返回表达式2的值。
六 java中的运算符优先级
级别1的优先级最高,级别11的优先级最低
记忆口诀:去掉一个最高的,剩下的是一、二、三、赋值。双目运算符中,顺序为算术、关系和逻辑,移位和逻辑位插入其中。
记住一个最高的:括号。
剩余的是一、二、三、赋值。意思是单目、双目、三目和赋值运算符。
在诸多双目运算符中,又分为:算术、关系、逻辑。 移位运算符在算术运算符后边,逻辑位运算符(按位与,按位异或,按位或)在逻辑运算符的前面