注释
注释:程序里由程序员添加的说明性信息。
注释并不是
Java
代码,因此编译器不会对注释进行编译。
---即:被注释的内容不会当代码来看待
注释只是给人看的,方便人更好的解读程序。
☆☆ 作为一个程序员,一定要养成写注释的好习惯。
Java程序中的三种注释
单行注释
顾名思义:只注释一行。
用法:
// +
注释内容
例如:
// 下面一行代码用户读取数据库中的商品分类
快捷键:
Ctrl+/
快速的添加注释以及取消注释。
鼠标先选中要注释的行(可以是多行),然后按
Ctrl+/
, 这样就会选中的行每行加一个单行注释。再按一下Ctrl+/ 会取消注释。
多行注释
顾名思义:注释内容占多行。
用法:
/*
注释内容
*/
例如:
/*
如果注释内容比较多,可以使用多行注释
我是第二行注释
*/
快捷键:
Ctrl+shift+/
作用是给选中的行(可以是多行)添加多行注释。
快捷键:
Ctrl+shift+/
作用是取消选中行的多行注释。
鼠标先选中要注释的行(可以是多行),然后按Ctrl+shift+/,这样就会选中的行添加多行注释。想要取消多行注释,先选中要取消注释的行,按Ctrl+shift+/
。
文档注释
按文档的格式进行注释。这种注释通常用于描述一个类和类中的方法。
用法:
/**
注释内容
*/
例如:
/**
* 这是文档注释
* @author me
* @version 1.0
*/
生成Java文档
(
1
)直接使用
javadoc.exe
来生成文档。
javadoc -d doc -sourcepath src com.example
注意:需要用win+r,输入cmd,来运行。项目中有中文会出现乱码问题,最好使用idae生成文档。
(
2
)使用
IDEA
生成文档。
关键字
关键字:就是被
Java
语言提前赋予特定含义的单词
关键字属于
Java
语言中内置好功能的单词,不同的关键字表示不同的含义。
关键字:一般都是全小写书写。而且在专业的开发工具里都会显示出特殊的颜色。
Java
中定义了几十个关键字,下面简单列举几个(后面的学习过程中,用到哪个单独讲哪个):
![](https://i-blog.csdnimg.cn/blog_migrate/37f7ee090fa7d9916a508f4dfef72a0c.png)
控制台输出语句
System.out.println(
要输出的内容
);
作用:把 括号里 的内容输出到控制台进行显示,内容结尾会
加一个换行符。
括号里的内容可以是数字,可以是字符,可以是字符串,可以是对象(后面学习)。
快捷键:
sout
System.out.print(
要输出的内容
);
作用:把 括号里 的内容输出到控制台进行显示。
同上个相比,它不换行
转义字符
通常情况下,输出字符串时,字符串会原样显示,但是如果字符串中出现了特殊字符(\
,
"
),就会无法正常显示,想要正常显示,需要使用转义字符进行转义。 常见的转义字符如下:
数据类型
在讲数据类型之前,我们先说一下计算机存储单元。
计算机存储单元
计算机存储设备的最小存储单位是
“
位(
bit
)
”
,我们称之为 比特位,通常用小写字母b
表示。
而计算机最小存储单位是
“
字节(
Byte
)
”
,通常用
B
表示,字 节是由连续的8
个比特位组成的,即:
1Byte=8bit
。
除了字节以外,还有一些别的存储单位,例如:
KB
,
MB
,GB,
TB
等
1KB = 1024B
,
1MB = 1024KB
,
1GB = 1024MB
,
1TB = 1024GB,
1PB = 1024TB,
1EB = 1024PB,
1ZB = 1024EB,
1YB = 1024ZB,
1BB = 1024YB,
1NB = 1024BB,
1DB = 1024NB
。
数据类型的分类
Java
语言是
强类型语言
。所谓的
强类型指的是数据都要归属于
某一种数据类型
,
不同的数据类型
分配了不同大小的存储空 间,所以它们能表示的数据大小也不一样
。
![](https://i-blog.csdnimg.cn/blog_migrate/115174f712a83da6976ea1eb6a8457bf.jpeg)
引用数据类型还有
字符串
:String
基本数据类型内存占用和取值范围
数据类型影响了三方面:
1.
能存放什么数据(整数、小数、字符、布尔)
2.
你占用了多少内存(
1
字节、
4
字节)
3.
你能表示的数据的范围有多大。
数据的默认类型
整数的默认类型是
int
。
200
,系统默认
200
是
int
类型的。
200L表示数据是
long
类型。
小数的默认类型是
double
。
3.14
,系统默认是
double
类型的。
常量
常量:程序运行过程中,其值不可以发生改变的量,常量通
常用于定义固定的值
![](https://i-blog.csdnimg.cn/blog_migrate/ab9e5a162993d339585f212518837990.png)
变量
如何更高效的把下面输入语句中的
100
改成
200
?
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
变量:在程序运行过程中,其值可以发生改变的量。即可以
在程序的不同的地方进行修改。
变量的主要作用就是代表数据
。既然要代表数据,
一定要指
明数据类型
,以明确你代表的是什么类型的数据。除此之外,变量要有一个名称
,我们称之为变量名。总结起来,变量具有三要素:数据类型 、变量名、变量值 (变量值可以随着程序的运行发生改变)。
示例:
int age = 20;
变量的使用
变量的使用分为
2
步:
1.
定义变量
。语法格式:
数据类型
变量名
=
初始值
;
2.
使用变量
变量的取值
:直接使用变量名就能取出里面的值。
int age = 20;
System.out.println(age);
修改变量的值
:变量名
=
变量值
;
int age = 20;//定义变量
age = 22;//这就是修改值
变量名的命名规范
1.
变量名只能由英文字母、数字、
$
和
_
构成。
2.
变量名不能以数字开头。
3.
变量名使用小驼峰方式命名,并且要见名知意。
4.
变量名不能重名。
5.
变量名不能是关键字。
6.
变量名区分大小写。
变量使用的注意事项
1.
变量需要先定义,再使用。
定义的时候必须给初始值。一般:整数的初始值可以给0
,小数的初始值可以给
0
或者0.0,布尔的初始值可以给
false
,字符的初始值可以给'0'
或者
0。
2.
变量不能重复定义,即
变量不能重名
。
3. long
类型的变量在赋值的时候,如果值过大,要在值后面加L
(或
l
)。
4.
给
float
类型变量赋值的时候,需要在值后面加上
F
(或
f
)
类型转换
类型转换指的是数据类型之间的相互转换。
在
Java
中类型转换分为:
自动类型转换和强制类型转换。
自动类型转换
把一个表示
数据范围小的值或变量
赋值给一个表示
数据范围
大的变量
。
(小转大)
例如:
long a = 100;
分析:常量
100
默认是
int
类型,占
4
个字节,变量
a
是
long类型,占8
个字节。
8
个字节的变量
a
能存储的下
4
个字节的100。
强制类型转换
把一个表示数据
范围大的数值或者变量
赋值给另外一个数据
范围小的变量
。
(大转小)
强制类型转换的语法格式:
目标数据类型 变量名
=
(目标数
据类型)值(或变量名)
例如:
int a = (int)3.14;
分析:
a
是
int
类型,占
4
个字节。
3.14
默认是
double
类型,占8
个字节。在转换的过程中,只保留整数部分,所以转换以后,a
的值是
3
。上述代码可以实现转换,因为整数3
没有超出
int
类型的范围。如果
3.14
的整数部分比较大,超出了int
类型的范围,就会转换出一个错误的结果。
注意:虽然
Java
提供了强制类型转换,但是转换有风险,如
果确定转换后不会出问题,再使用强制类型转换。
运算符
运算符:是对常量或者变量进行操作的符号。
赋值运算符( =)
"="是
Java
语言中的赋值运算符。这个运算符要求:"="
左边必须是一个变量,右边是一个值
(或者变量)
。
示例:
int age = 20;
上述的案例中,
"="
就起到一个赋值的作用,它把
20
赋值 给了age
变量。
再例如:
age = 30;
在上一步中,
age
的值是
20
,经过
age = 30
以后,
age
的值变为30。
"="
将
30
赋值给了
age
。
赋值运算符的使用场景:
1.
初始化变量。任何一个变量在用的时候都必须先定义再使用,定义的时候,必须有初始值。
2.
改变变量的值。
算术运算符(+、-、 * 、/、%)
优先级:先
* / %
,后
+ -
+、-运算符另外作用
+
:可以作用于字符串,作用是字符串拼接。注意:
+
的两侧,至少有一个是字符串。
-
:可以用作负号。
复合运算符(+=、 -= 、 *= 、/=、%=)
//第一段代码
short a = 20;
a = a + 10; //报错
//第二段代码
short a = 20;
a += 10;
上面
2
段代码有很大的差别!
a += 10
;
+=
自带强制类型转换。复合运算符具有强制类型转换的功能。
自增自减运算符(++、--)
自增、自减运算符只能作用于变量。
![](https://i-blog.csdnimg.cn/blog_migrate/cb6e84ea447c270862fd7a6912e84ba8.png)
变量既可以放在
++(
或
--)
的前面,也可以放在
++(
或
--)
的后面
++
在前,先自增。
++
在后,后自增。
--
在前,先自减。
--
在后,后自减。
关系运算符(== 、!=、>、>=、<、<=)
注意区别
=
和
==
,二者截然不同。
逻辑运算符(&、|、!、^ 、&&、||)
&
是并且的意思。需要同时满足条件,结果才是
true
,否则是false
|
是或者的意思。需要同时为
false
时,结果才是
false
,否则是true
^
异或的意思。相异为
true
,相同为
false
!
只有一个操作数,对操作数的结果取反
&&
和
||
只是多了短路功能,其他与
&
和
|
一样。开发中几乎都使用&&
和
||
,不使用
&
和
|可以把true
理解为大于
0
的正数,
false
理解为
0
三目运算符(? :)
格式:
关系表达式
?
表达式
1 :
表达式
2
作用:
如果关系表达式的值为
true
,表达式
1
的值将作为整个
式子的值。如果为
false
,表达式
2
的值将作为整个式子的值。
表达式:运算符和常量或变量组成的式子。
例如:
a+b c > d 2 * e + f x + y > z
一目、二目、三目
一目:运算符只有一个操作数。例如:
++
、
--
、
!
二目:运算符有
2
个操作数。例如:
+
、
-
、
*
、
/
、
%
、
|
、
&
、^、
&&
、
||
、
>
、
>=
、
<
、
<=
、
!=
、
==
三目:运算符有
3
个操作数。例如:
? :
运算符的优先级
原则:
1.
一目运算符的优先级高于二目运算符、二目运算符的优先
级高于三目运算符。
2.
同目时,
* / %
高于
+ -
,
&&
高于
||
3.
可以通过加
()
的方式改变优先级。
表达式和语句
1.
表达式:由常量、变量以及运算符组成的式子。
关系表达式
:用于比较数据(或表达式)大小的表达式。
逻辑表达式
:由逻辑运算符连接的表达式。
2.
语句:以分号结尾的表达式。或者以分号结尾的其他代码,
例如输出语句
语句是程序的基本组成部分。
数据输入
在
Java
程序中,想要接受用户输入的数据,需要使用
Scanner这个类。
Scanner
是
Java
提供好的专门用于接受输入的类。
Scanner使用的基本步骤
1.
导包。
-----import java.util.Scanner;
2.
创建
Scanner
对象。
------Scanner sc = new Scanner(System.in);
3.
提取用户输入的数据。
------int a = sc.nextInt();
在接受用户输入之前,最好进行友好的提示。
扩展
1. next()
方法:
一定要读取到
有效字符
后才可以结束输入。对输入有效字符之前遇到的空白,next()
方法会自动将
其去掉。只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。next()不能得到带有空格的字符串。
2. nextLine()
方法:
nextLine()
方法用于读取输入流中的下一行。以Enter
为结束符
, nextLine()
方法返回的是输入
回车之
前的所有字符
。 可以获得空白。