一、代码注释与规范
- 单行注释
“//”
int age //声明int变量,用于保存整型信息
- 多行注释
“/* */”
/*
注释内容1
注释内容2
*/
- 文档注释
“/** */”
/**
当文档注释出现在声明之前时,会被javadoc文档工具读取为javadoc文档内容。但是初学很少使用到文档注释。
*/
二、变量与常量
1、变量与常量的定义:
- 变量:值能够被改变的量称为变量
- 常量:值不能够被改变的量称为常量
2、标识符与关键字
- 标识符
- java规定的标识符由任意顺序的字母、下划线(_)、美元符号($)、和数字组成,并且第一个字母不能是数字。标识符不能是java中的保留字。
- java中的标识符是区分大小写的
- java可以使用中文和其他文字作为标识符,但是不推荐
- java代码工人的命名规范:
- 类名:通常使用名词,第一个单词首字母必须带的,后续单词首字母大写
- 方法名:通常使用动词,第一个单词首字母小写,后续单词首字母大写
- 变量:第一个单词首字母小写,后续单词首字母大写
- 常量:所有字母均大写
- 单词的拼接:通常使用userLastName方式拼接单词,而不是user_last_name
- 关键字:
- 在Eclipse中编程紫色粗体的单词,都是关键字
- 关键字在编程语言中是被赋予特定意义的单词,不可以被用作标识符。
3、变量
- 定义:变量就是可以改变值的量。可以把变量理解成一个“容器”,例如一个空烧杯,给变量赋值就相当于给烧杯倒水,变量可以不断更换值,就像烧杯可以反复使用一样。
- 变量声明:在java中需要声明变量,就是需要告诉编译器这个变量属于哪一种数据类型,这样编译器就知道要分配多少空间,以及变量可以存放什么样的数据。
int x = 30; //声明变量类型是int类型,并赋值
int y; //先声明变量类型
y = 1; //给声明好的变量赋值
y = 25; //修改变量值
- 在java中,允许使用汉字和其他的语言文字作为变量名,程序运行不会报错,但是不建议使用汉字和其他文字作为变量名,影响代码可读性。我们对 变量进行命名的时候,还应该遵循一下原则:
- 变量名必须是一个有效的标识符
- 变量名不可以使用保留字
- 变量名不能重复
- 选择有意义的单词作为变量名
4、常量
与变量不用,在程序运行的过程中,一直不会改变的量称为常量,常量在整个过程中只能被赋值一次,如果重复多次赋值,则会发生错误。在java中,声明一个常量,需要用到 final
关键字进行限定:
final 数据类型 变量名称 [= 值]
final double PI = 3.141592653;
final boolean BOOL = true;
常量变量名通常使用大写字母,这样的命名规则可以将常量和变量区分开来
三、基本数据类型
java基本的数据类型包括:数值型(整型、浮点型)、字符型、布尔型
1、整数类型
- int型:是java的默认数据类型。占用4个字节的内存,也就是32字节
- byte型
- short型
- long型:long型的取值范围比int大,属于高级的数据类型,所以在赋值的时候需要和int类型作出区分,需要在整数后面加上L,或者l。
int x = 30;
byte a = 30;
short m = 30;
long number = 123334534 * 2981982L;
2、浮点类型
java中的浮点类型有两种,分别是单精度浮点类型(float)和双精度浮点类型(double),他们具有不同的取值范围:
- float:4字节,32位,取值范围是1.4E~3.4028235E
- double:8字节,64位,取值范围是4.9E-324~1.7976931348623157E308
- 默认情况下小数被看作是double类型,要使用float类型需要声明,需要在小数后面添加F或者f来与double作为区分,double类型的小数后面添加D或者d没有强制要求。
float f1 = 13.23f;
double d1 = 13.33;
double d2 = 13.33d;
3、字符类型
- char型:16位bit,在声明变量的时候需要用’'来表示。
- 转义字符:和python相似,常用的有\t,制表符;\n,换行符。
4、布尔类型
- 布尔类型又称为逻辑类型,只有true和false两个值。布尔类型不能与整数类型进行转换(Python中是允许转换的)。布尔类型在流程控制中通常作为判断条件。
四、数据类型转换
类型转换是将一个值从一种数据类型更改为另一种数据类型的过程。数据类型的转换有两种,分为隐式转换和显式转换。需要注意的是,从低精度向高精度数据类型转换是不会溢出的,所以总是成功的。但是将数据从高精度向低精度转换必然会有信息的丢失,甚至会失败。接下来我们讲讲隐式转换和显式转换:
1、隐式转换
从低级别类型向高级类型转换,系统会自动执行,这种类型的转换称为隐式转换,也称为自动转换。我们既然讲到数据类型的高低级,那我们先给各种标准数据类型排个序:byte<short<int(char)<long<float<double
,char类型比较特殊,他可以与int类型兼容,且不会发生精度变化。
2、显式转换
显式转换是高精度变量赋值给低精度变量时,必须使用显式类型转换(又称强制类型转换),当执行显式转换时可能会出现精度缺失。
五、运算符
运算符是一些特殊符号,主要用于数学函数、一些类型的赋值语句和逻辑语句,java中提供了丰富的运算符,包括赋值运算符、算数运算符、比较运算符。
- 赋值运算符:=
- 算数运算符:+、-、*、/、%(取余)
- 自增和自减运算符:
a++ //先输出a的值,再做+1的运算
--a //先做+1运算,再输出a的值
a-- //先输出a的值,再做-1的运算
--a //先做-1运算,再输出a计算之后的值
- 关系运算符:==、<、>、<=、>=、!=
- 逻辑运算符:
&& //与
|| //或
! //非
- 位运算符:
& //与
| //或
~ //取反
^ //异或
<< //左移位
>> //右移位
>>> //无符号右移位
- 复合赋值运算符:
+= //累加
-= //累减
*= //累乘
/= //累除
%= //取余结果赋值给左侧变量
&= //与结果赋值给左侧变量
|= //或结果赋值给左侧变量
^= //异或结果赋值给左侧变量
<<= //左移结果赋值给左侧变量
>>= //右移结果赋值给左侧变量
>>>= //无符号右移结果赋值给左侧变量
- 三元运算符:
条件表达式 ? 值1 :值2
三元运算符的规则为:弱条件式的值为true,则整个表达式取“值1”,否则取“值2”,例如:
boolean b = 20 < 45 ? true : false
- 圆括号:
圆括号可以提升共始终计算过程的优先级,在编程中比较常用:和算术优先级相似,优先计算括号中的表达式。 - 运算符优先级:
优先级 | 符号 | |
---|---|---|
1 | () | |
2 | +(正号)、-(负号) | |
3 | ++、–、! | |
4 | *、/、% | |
5 | +(加)、-(减) | |
6 | >>、<<、>>> | |
7 | <、>=、<=、< | |
8 | ==、!= | |
9 | & | |
10 | ^ | |
11 | | | |
12 | && | |
13 | || | |
14 | ?、: | |
15 | = |
六、实例
实例1:根据身高、体重计算BMI指数
创建BMIexponent类,声明double变量hight记录身高,单位为米,声明int类型变量weight,单位是千克,根据BMI= 体重 /(身高 * 体重)的公式计算BMI:
public class BMIexponent {
public static void main(String[] args) {
// TODO Auto-generated method stub
double height = 1.70;
int weight = 60;
double exponent = weight / (height * height);
System.out.println("您的身高是:"+ height);
System.out.println("您的体重是:"+ weight);
System.out.println("您的BMI是:"+ exponent);
System.out.println("您的BMI属于:")<