IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java基础(一) -> 正文阅读

[Java知识库]java基础(一)

Java基础(一)

八大基本数据类型:

Byte、Short、Int、Long、Float、Double、Char、Boolean

float n0 = 2.7;//错误 2.7F 默认小数double
double n1 = 2.7; //2.7
double n2 = 8.1/3;//2.69999999997
byte b1 = 10;//对
int n2 = 1;
byte b2 = n2;//错误 原因:如果是变量赋值,判断类型
char c1 = b1;//错误 原因:byte不能自动转换 char

自动类型转换:

当java程序在进行赋值或运行时,精度小的类型自动转换为精度大的数据类型。

byte、short 和char 之间不能相互转换。

char–>int–>long–>float–>double

byte–>short–>int–>long–>float–>double

byte、short、char 三者可以计算,在计算时首先转换成int类型

byte b2 = 1;
byte b3 = 2;
short s1 = 1;
short s2 = b2 + s1;//错误,b2 + s1 => int
byte b4 = b2 + b3;//错误,b2 + b3 =>int

boolean 不参与转换

自动提升原则:表达式结果类型自动提升为操作数最大的类型

强制类型转换:加()

强制符号只针对最近的操作数有效,忘完会使用() 提升优先级

Byte和short类型在进行运算时,当作int类型处理。

字符编码:

ASCII:编码表 一个字节表示,一个128个字符,实际上一个字节可以表示256个字符,只用128个。

Unicode:编码表 固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占两个字节,这样浪费空间。

utf-8:编码表,大小可变的编码 字母使用1个字节,汉字 使用3个字节。

gbk:可以表示汉字,而且范围广,字母使用一个字节,汉字2个字节。

gb2312:可以表示汉字,根本gb312<gbk。

big5码:繁体中文,台湾,香港。

运算符:+ 、-、*、/、%、++、–

关系运算符:==、!=、<、<=、>、>=、instanceof(检查是否是类对象)

逻辑运算符:

短路与 &&,短路或||,取反!

逻辑与&,逻辑或|,^逻辑异或
1、&&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false。

2、&逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低。

3、开发中,我们使用的基本是使用与&&,效率高

短路或|| : 条件1||条件2 两个条件只要有一个成立,结果为true,否则为false

逻辑或|: 条件1|条件2 只要有一个条件成立,结果为true

aba&ba&&ba|bA||b!AA^B
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalestruefalse

三元运算符:

条件表达式?表达式1:表达式2

标识符的规则和规范

  1. 由26个英文字母大小写,0-9,_或$
  2. 数字不可以开头。int 3ab//错误
  3. 不可以使用关键字和保留字,但能包含关键字和保留字
  4. Java中严格区分大小写,长度无限制。
  5. 标识符不能包含空格。int a b = 90;//错误

输入:Scanner scanner = new Scanner(System.in);

进制

二进制:0,1,满2进1,以0b或0B开头。

十进制:0-9,满10进1

八进制:0-7,满8进1,以数字0开头表示

十六进制:0-9以及A(10)-F(15),满16进1,以0x或0X开头表示。此处A-F不区分大小写。

进制的转换:

其他进制转十进制:

二进制转十进制:0b1011=1*2^0+2*2^1+0*2^2+1*2^3=11

八进制转十进制:0234=4*8^0+3*8^1+2*8^2=4+24+128=156

十六进制转十进制:0x23A=10*1+3*16+2*16^2=570

十进制转其他:

十进制转二进制:该数不断除以2 ,直到商为0 为止。然后将每步的余数倒着写。34=0B00100010(一个字节8位,不够8位前面补0)

十进制转八进制:该数不断除以8 ,直到商为0 为止。然后将每步的余数倒着写。

131=0203

十进制转十六进制:该数不断除以16 ,直到商为0 为止。然后将每步的余数倒着写。

237=0xED

二进制转八进制:从低位开始三个为一组 ,转换成对应的八进制数即可。

0b11 010 101=> 0325

二进制转十六进制:从低位开始四个为一组 ,转换成对应的十六进制数即可。

0b11010101=>0xD5

八进制转换成二进制:八进制数的每一位转换成对应的一个三位的二进制数。

0237=0b10011111

十六进制转换成二进制:十六 进制数的每一位转换成对应的一个四位的二进制数。

0x2(0010) 3(0011) B(1011) =0b001000111011

位运算:>>(算术右移)、<<(算术左移) 、>>>(逻辑右移)

1、算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位

2、算术左移<<:符号位不变,地位补0

3、>>>逻辑右移也叫无符号右移,运算规则是:地位溢出,高位补0

4、特别说明:没有<<<符号

4<<3//4*2*2*2 15>>2//15/2/2

原码、反码、补码(important):

1、二进制的最高位是符号位:0表示正数,1表示负数。(口诀:0->0 ,1->-)

2、正数的原码、反码、补码都一样。(三码合一)

3、负数的反码=它原码符号位不变其他位取反(0->1,1->0)

4、负数的补码=它的反码+1,负数的反码=负数的补码-1.

5、0的反码、补码都是0。

6、Java没有无符号数,换言之,Java中的数都是有符号的。

7、在计算机运算的时候,都是以补码的方式来运算的。

8、当我们看到运算结果的时候,要看它的原码。

API文档:www.matools.com

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:16:53  更:2022-01-04 13:18:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:00:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码