Java基础-基本语法复习(二)

驼峰命名法

类名/接口名:如果由多个单词组成,那么每一个单词的首字母大写。 HelloWorld
变量名/方法名:如果由多个单词组成,那么第一个单词的首字母小写,其余单词的首字母大写 playGame main
包名:如果由多个单词组成,那么每一个单词之间用 . 隔开,所有字母都是小写 cn.tedu.de
常量名:如果由多个单词组成,那么每一个单词之间用_隔开,所有字母都是大写 PLAY_GAME
注释
用于解释说明的文字

// 注释文字		单行注释
/* 注释文字 */	多行注释
/** 注释文字 */文档注释 --- 里面的注释内容可以利用javadoc命令提取出来形成文档(就是对程序的说明书)

字面量

在计算机中不可改变的量
整数常量:所有的整数 7 15 186 -42
小数常量:所有的小数 3.12 8.005 6.0 9.00
字符常量:将一个字母、数字或者是符号用 ‘’ 标识起来 ‘a’ ‘+’ ‘5’ ‘小’ ‘ ’
字符串常量:将一个或者多个字符用 “” 标识起来 “abc” “+” “”
布尔常量:true/false — 用于表示逻辑值
空常量:null

进制

计数方式
二进制:0-1,满2进1 1+1=10 11+1=100 111+1=1000。在程序中以0b/0B开头标记一个二进制数字(从JDK1.7开始) 0b1001 0b00101
八进制:0-7,满8进1 7+1=10 27+1=30 77+1=100 要求以0开头标记一个八进制数字 045 053
十进制:0-9,满10进1 Java中数字默认就是十进制
十六进制:0-9,A-F,满16进1 9+1=a a+1=b f+1=10 39+1=3a 3f+1=40 99+1=9a 9f+1=a0 af+1=b0 ff+1=100要求以0x/0X作为开头标记 0xB3

进制的转换

十进制转换为二进制:将一个十进制数字不断的除以2,然后获取余数,将余数倒序排列,排列之后的结果就是对应的二进制 在这里插入图片描述

二进制转化为十进制:从这个二进制数字的最低位次开始,然后每一位乘以当前的2的位次次幂,最后求和。
在这里插入图片描述
十进制转化为其他进制:十进制数字向哪个进制转化那么久除以对应的进制,然后取余数,将余数倒排
其他进制转化为十进制:从这个进制的数字的低位次开始,然后按位次乘以当前的进制的位次次幂,最后求和
二进制转化为八进制:从二进制数字的低位次开始,每三位划分为一组产生一个八进制数字,最高位如果不足三位,补0。最后将产生的八进制数字排列 — 三变一
在这里插入图片描述
八进制转化为二进制:每一位八进制数字产生3位二进制数字,如果不足三位,补0. — 一变三
十六进制和二进制之间的转换类比八进制和二进制的转换
扩展:十进制小数转换为二进制
绝大部分的小数转化为二进制都是无限的 — 所以计算机在存储小数的时候会产生舍入误差

变量

在程序中用于存储数据的容器。
在这里插入图片描述
变量不能重名。
变量必须先定义后使用
变量必须先给值后使用
变量必须在哪儿定义就在哪儿使用
扩展:计算机存储单位
每一个二进制数字称之为1位 — bit - b
字节 - Byte - B 1B = 8b
千字节 - kilobyte - KB 1KB = 210B = 1024B
兆字节 - MB -> GB -> TB -> PB
8Mb = 1MB
100Mb = 12.5MB
3GB = 3000MB — 在通信领域是按照千进制计算

数据类型

基本数据类型

数值型
整数型在这里插入图片描述
浮点型 在这里插入图片描述

转义字符

\t-制表符 table \r-回车 return \n-换行 next
\-反斜杠 \ \’-单引号 \”-双引号
扩展:将字符转换数字的过程称之为编码 — 编码表
ISO-8859-1 - 西欧码表 - 1个字节表示1个字符 a
gb2312 - 国标码 - gbk - 2个字节表示1个字符 - 收录了常见的简体汉字以及一部分常见的繁体汉字
Unicode编码体系 - 收录了世界上常见语言的基本字符 - 规定了一系列的编码规则 - utf-8-> 3个字节表示一个字符 utf-16 -> 2个字节表示1个字符
注意:规定无论哪张码表兼容西欧码表
k 1 1 1 1
区 X 2 3 2
boolean - 布尔型 - true/false,用于表示逻辑值
boolean b = true; boolean b2 = false;

引用数据类型

数组 [] 类 class 接口 interface

数据类型的转换

自动类型转换/隐式转换

byte b = 125;
int i = b;
规律一:小的类型自动转化为大的类型
short s = 7;
long l = s;

long l = 500; // 500是一个整数,整数默认为int,int的范围比long小,所以可以自动转换

float f = 56.71F;
double d = f;

int i = 300;
double d = i;
规律二:整数类型可以自动转化为浮点类型,可能会产生舍入误差
int i = 500;
float f = i; // i是int类型,int的取值范围比float小,所以int可以自动转化为float

long l = 259L;
float f = l;

float f = -25; // -25是整数

char c = ‘a’;
int i = c;
规律三:字符可以自动提升为整数
在这里插入图片描述

强制类型转换/显式转换

int i = 35;
byte b = (byte)i;
规律一:当把大的类型转化为小的类型的时候,因为补码的换算问题,所以可能会产生一些想不到数据
double d = 6.4;
int i = (int)d;
规律二:小数在转化为整数的时候是舍弃小数位
扩展:数据的原反补三码
数据类型的最高位是符号位 — 如果最高位是0,则表示一个正数;如果最高位是1,则表示一个负数。
计算机中存储的是数据的补码,计算的也是数据的补码
直接计算出来的二进制数字是数据的原码
如果是正数,那么原反补三码一致
int i = 7;
00000000 00000000 00000000 00000111 原码
00000000 00000000 00000000 00000111 反码
00000000 00000000 00000000 00000111 补码
如果是负数,那么反码是在原码的基础上,最高位不变,其余位0<->1;补码是在反码的基础上+1
int j = -9;
10000000 00000000 00000000 00001001 原码
11111111 11111111 11111111 11110110 反码
11111111 11111111 11111111 11110111 补码
注意:规定用-0表示当前类型的最小值
运算符
算术运算符

+ - * / % ++ --

注意:

  1. byte/short/char在运算的时候自动提升为int
  2. 整型在运算的时候保持类型不变
  3. 小类型和大类型运算,结果一定是大类型
  4. 任意整数/0 - ArithmeticException - 算术异常
    任意非零数字/0.0 任意非零小数/0 - Infinity - 无穷大
    0/0.0 0.0/0.0 0.0/0 - NaN - Not a Number - 非数字
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值