ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-07-10 13:05:36  阅读:165  来源: 互联网

标签:左到 运算符 操作数 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有