编程语言
首页 > 编程语言> > Java学习(本人学习的进度)

Java学习(本人学习的进度)

作者:互联网

Java学习

Java三个版本

JavaSE:标准版(桌面程序,控制台开发……)

JavaME:嵌入式开发(手机、家电……)因为时代的更新,了解即可

JavaEE:E企业级开发(web端,服务器开发……)

JDK、JRE、JVM

JDK:Java Development Kit(Java开发工具包)

JRE:Java Runtime Environment(Java运行时环境)

JVM:Java Virtual Machine(Java虚拟机)

关系图

Java基础语法

命名规范

类名:首字母大写和驼峰原则Man(),GoodMan

类成员变量:首字母小写和驼峰原则:monthSalary

方法名:首字母小写和驼峰原则:run(),runRun()

局部变量:首字母小写和驼峰原则

常量:全大写字母和下划线分隔:MAX_VALUE

注释

单行注释:// 注释

多行注释:/* 注释 */

文档注释:/** */

数据类型

基本类型(primitive type)

整数类型

byte占1个字节范围:-128~127

short占2个字节范围:-32768~32767

int占4个字节范围:-2147483648~2147483647

long占8个字节范围:-9223372036854775808~9223372036854775807

注:long类型要在数值后面加上L

浮点类型

float占4个字节

double占8个字节

字符类型

char占2个字节

boolean类型

boolean占1位,其值只有true和false(默认是false)

引用类型(reference type)

接口

数组

拓展

整数拓展

二进制:逢二进一,数值只有0和1

例:int = 101 二进制101等于十进制5

八进制:逢八进一 注:八进制在数值前加上0代表八进制

例:int = 0101 八进制101等于65

十进制:逢十进一 注:我们平常使用的进制就是十进制

例:int = 101

十六进制:逢十六进一 注:十六进制在数值前加上0x代表十六进制(a~)

例:int = 0x101 十六进制101等于十进制257

浮点数拓展

浮点数类型是有限、离散、舍入误差,它的值是大约的,接近但不等于,所以最好完全避免使用浮点数进行比较。

类似银行业务的不要用浮点数类型,用BigDecimal(数学工具类)

字符拓展

所有的字符本质都是数字,由编码Unicode转换

例:

char a = "a";
char a1 = "中";
System.out.println(a);
System.out.println((int)a); //int强制转换为整型
System.out.println(a1);
System.out.println((int)a1); //int强制转换为整型

输出:

A
65

20013
转义字符

' 单引号字符 \ 反斜杠字符 \r 回车 \n 换行 \f 走纸换页 \t 横向跳格 \b 退格

类型转换

强制转换(高~低)

(类型)变量名

自动转换(低~高)
注意点:
  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 在把高容量转换到低容量的时候须强制转换

  4. 转换始动时候可能存在内存溢出,或者精度问题!

  5. 须赋值计算时,计算时类型没变溢出(还未赋值时)会报错

  6. 浮点类型转换整型时小数点后的数字会被去掉(并非四舍五入)

  7. 数字型(包括浮点类型和整型)转换字符型会以编码的形式转成字符(并非原数值)

  8. 字符转数字型(包括浮点类型和整型)由编码Unicode转换为对应的编码(并非原字符)

数字分割

JDK7特性,数字之间可以用下划线分割

例:10_0000_0000

类型转换

变量

定义变量

数据类型 变量名 = 值; 注:可以使用逗号隔开来声明多个同类型变量

注意事项:

常量

定义常量

final 常量名 = 值; 注:常量的值定义完后就不会变了

运算符

算术运算符

操作符描述例子
+ 加法 - 相加运算符两侧的值 A + B 等于 30
- 减法 - 左操作数减去右操作数 A – B 等于 -10
* 乘法 - 相乘操作符两侧的值 A * B等于200
/ 除法 - 左操作数除以右操作数 B / A等于2
取余 - 左操作数除以右操作数的余数 B%A等于0
++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21(区别详见下文)
-- 自减: 操作数的值减少1 B-- 或 --B 等于 19(区别详见下文)

关系运算符

运算符描述例子
== 检查如果两个操作数的值是否相等,如果相等则条件为真。 (A == B)为假。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)为假。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (A <= B)为真。

位运算符

操作符描述例子
如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
| 如果相对应位都是 0,则结果为 0,否则为 1 (A | B)得到61,即 0011 1101
^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 (〜A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即0000 1111

逻辑运算符

操作符描述例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。

赋值运算符

操作符描述例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
<< = 左移位赋值运算符 C << = 2等价于C = C << 2
>> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
&= 按位与赋值运算符 C&= 2等价于C = C&2
^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
| = 按位或赋值操作符 C | = 2等价于C = C | 2

条件运算符

条件运算符:?:

public class Test {
  public static void main(String[] args){
     int a , b;
     a = 10;
     // 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
     b = (a == 1) ? 20 : 30;
     System.out.println( "Value of b is : " +  b );

     // 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
     b = (a == 10) ? 20 : 30;
     System.out.println( "Value of b is : " + b );
  }
}

输出:

Value of b is : 30
Value of b is : 20

运算符优先级

类别操作符关联性
后缀 () [] . (点操作符) 左到右
一元 expr++ expr-- 从左到右
一元 ++expr --expr + - ~ ! 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 > >= < <= 左到右
相等 == != 左到右
按位与 左到右
按位异或 ^ 左到右
按位或 | 左到右
逻辑与 && 左到右
逻辑或 | | 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左
逗号 左到右

标签:左到,运算符,操作数,Java,学习,操作符,进度,按位,赋值
来源: https://www.cnblogs.com/xiaoyexuema/p/14992520.html