java零基础学习
文章目录
前言
大三下开始学习java,现在学肯定迟了,但不学永远都只能自我损耗,学了再说:
看到好多实习都要用java,开搞!
一、Java的基本数据类型
整型(int)
十进制 | 八进制 | 十六进制 |
---|---|---|
int i = 11 | int i = 010(i = 8) | int i = 0x15(i = 21) |
int j = -12 | int j = -012 (j = -10) | int j = -0xfa (j = -250) |
类型 | 位(bit) | 字节(byte) | 取值范围 |
---|---|---|---|
byte | 8 | 1 | -27~27-1 |
short | 16 | 2 | -215~215-1 |
int | 32 | 4 | -231~231-1 |
long64 | 64 | 8 | -263~263-1 |
浮点型(float/double)
注:需要在结尾加标识符(F/f 或 D/d) 默认为double类型
类型 | 位 | 字节 | 取值范围 |
---|---|---|---|
float | 32 | 4 | ±40282347E+38F |
double | 64 | 8 | ±1.79769313486231570E+308 |
字符型(char)
注:底层实现是数字类型,故可以与int类型进行相互转化
类型 | 位 | 字节 |
---|---|---|
char | 16 | 2 |
布尔型(boolean)
true 和 false 表示真和假
数据类型转换
自动转化
不需要明确指出所要转化的类型,Java虚拟机自动转换
规则: 小数据类型变为大数据类型,但大数据类型的数据精度有时会被破坏
强制转化
强制转化具有强制性,形如
//定义数据类型
int i = 22;
long l = 33;
//强制转换数据类型
char c = (char) i;
int n = (int) l;
输出c与n:
隐含转换
类似于自动转化,若常量可以由设定的变量装载,就默认进行隐含转换
能进行隐含转换的只能是常量,而不是变量
二、标识符命名
规则:
- 以英文字母开头,英文字母是大写的A ~ Z或小写的a ~ z,以及“_” 和 “$”
- 数字包括0 ~ 9
- 其他的符号不能出现在标识符里
- 不能用Java所保留的关键字
- Java表示符区分大小写
- 能体现此标识符所描述的方法、成员变量或类的含义
Java关键字列表
关键字都是小写的,如果是大写的,则肯定不是关键字
abstract | boolean | break | byte |
---|---|---|---|
case | catch | char | class |
continue | default | do | double |
else | extends | false | final |
finally | float | for | if |
implements | import | instanceof | int |
interface | long | native | new |
null | package | private | protected |
public | return | short | static |
super | switch | synchronized | this |
transient | true | try | void |
volatile | while | const | goto |
三、代码注释
行注释 //
//这是一个单行注释
行注释 /* */
/*这是一个块注释
第一行注释
第二行注释
第三行注释
…………
*/
文档注释 /** */
Java特有的doc注释,用来描述类,可以帮助程序员了解此类具有哪些功能
/**
这是一个文档注释
*/
四、运算符
算术运算符
类型 | 作用 |
---|---|
+ | 加法运算符,也可用来连接字符 |
- | 减法运算符 |
* | 乘法运算符(整型、浮点型) |
/ | 除法运算符(整型、浮点型) |
% | 求余运算符(任何数都不能对0取余) |
自增自减运算符
运算符前置时先运行再自增或自减,后置时先自增或自减后再运行
类型 | 作用 |
---|---|
++ | 自增1 |
-- | 自减1 |
关系运算符
“==”、“!=”比较基本类型时,表示比较的值是否相等,如果用“==”、“!=”比较对象时。就表示比较对象的引用是否相等
含有“>”、“<”即比较大小,只有数字类型才能进行比较
类型 | 作用 |
---|---|
== | 等于 |
!= | 不等于 |
>= | 大于或等于 |
<= | 小于或等于 |
< | 小于 |
> | 大于 |
逻辑运算符
类型 | 作用 |
---|---|
&& | 与 |
|| | 或 |
! | 非 |
三元运算符
类型 | 作用 |
---|---|
条件判断语句?表达式1: 表达式2 | 若条件判断语句为真,结果为表达式1的值;否则为表达式2的值 |
boolean x = (4 < 3) ? true : false; //x为false
位运算符
将操作数转换成二进制数,然后按位进行比较
类型 | 作用 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
位移运算符
移位时,正数补0,负数补1
类型 | 作用 |
---|---|
>> | 带符号右移 |
<< | 带符号左移 |
>>> | 无符号右移 |
赋值运算符
类型 | 作用 |
---|---|
= | 赋值 |
运算符= | 先进行运算,并把结果赋值(此处的运算符包括以上运算符【除去三元和逻辑】) |
运算符之间的优先级(自高到低)
括号—自增自减—乘除取余—加减—位移运算符—关系运算符—位与—位异或
—位或—逻辑与—逻辑或—三元选择—赋值运算
四、流程控制
if
格式 | 作用 |
---|---|
if … | 出现一次if就要判断一次 |
if … else… | if不成立则执行else |
if … else if … else… | if不成立则查询else if,若有一个成立则执行并跳出,若都不成立执行else |
switch
switch表达式中只能是整数类型和有顺序的序列,整数类型有byte、short、int、long
表达式也可以为具体的整数数值,Switch分支语句中的条件还可以为枚举类型
(enum 枚举体 {枚举元素……})
switch (表达式)
{
case 表达式1:
{
方法体1
break;
}
case 表达式2:
{
方法体2
break;
}
...
default:
都不匹配时执行的方法体
}
while
先进行判断,再执行循环
当表达式为true时,一直执行方法体,直至表达式为false跳出循环(或使用break)
while (表达式)
{
方法体
}
do while
先进行循环,再执行判断
先执行循环体,在对表示进行判断,当表达式为true时,一直执行方法体,直至表达式为false跳出循环(或使用break) do … while至少进行一次循环
do
{
方法体
}
while (表达式);
for
先进行变量声明与初始化(只在第一次执行),然后判断表达式,若为真则继续循环,执行方法体,并进入循环表达式;若为假,则跳出循环
for(变量初始化; 表达式; 循环表达式)
{
方法体
}
总结
就这样吧