(02)Java基础笔记

Java的命名规范

  1. 名称只能由字母,数字,下划线,$符合组成
  2. 不能以数字开头
  3. 不能使用Java关键词
  4. 变量名,方法名首字母小写,常量名全部大写

Java中的注释方法

  1. 单行注释 //注释的内容
  2. 多行注释(块注释) //
  3. 多行注释(Javadoc注释) /**…*/

Javadoc注释的作用是生成注释文档

Java中的八大基本数据类型

  1. 整数型:byte(字节),short(短整型),int(整数形),long(长整形)
  2. 浮点类型:float(单精度浮点类型),double(双精度浮点类型)
  3. 字符类型:char
  4. 布尔类型:Boolean(true/false)

byte(字节):数据类型是8位,1个字节,默认值为0,最大值:127,最小值:-128

short(短整型):数据类型:16位,2个字节

int(整数形):数据类型:32位,4个字节

long(长整形):数据类型:64位,8个字节

float(单精度浮点类型):数据类型:32位,4个字节

double(双精度浮点类型):数据类型:64位,8个字节

字符和布尔类型:Boolean数据类型:1位,char占用2个字节

长整形的赋值要在结尾处加l作为标识 例如:long a = 100l;

单精度浮点类型的赋值要在结尾处加f作为标识 例如:float a = 100.2f;

double强制转成int小数部分精度损失 double a = (int)100.2; System.out.println(a); 输出结果为100.0

强制装换的规则:在原类型大于目标类型的时候损失精度

发生自动类型装换的条件是

  1. 这两种类型是相互兼容的
  2. 目标类型数的范围比原来类型大

结论:当容量晓得数据类型的变量与容量大的数据类型的变量做运算时: byte、char、short -->int -->long
–>float -->double -->string 特别的:当byte、char、short三种类型的变量做运算时,结果为int型

Java中双引号和单引号的区别

双引号:用来引用字符串 单引号:用来表示单子字符

Java中的运算符


1,一元运算符:因操作数是一个,故称为一元运算符。

++x 因为++在前,所以先加后用。
x++ 因为++在后,所以先用后加。

~ 逐位取反,属于位运算符 ~x

n=10;
m=~n;
变量n的二进制数形式: 00000000 00000000 00000000 00001010
逐位取反后,等于十进制的-11: 11111111 11111111 11111111 11110101

2,算术运算符

% 取模运算(求余运算) x%y 例如:10 % 3=1

3,移位运算符

移位运算符操作的对象就是二进制的位,可以单独用位运算符来处理int类型整数

<< 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
例如 10<<3 10的二进制位1010 左移三位就是1010000

(>>) 右移运算符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.
例如 10>>3 10的二进制位1010 右移三位就是1

(>>>)右移运算符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.
例如 10>>>3 10的二进制位1010 右移三位就是1

位运算操作符
<<:在一定范围类,每向左移1位,相当于*2
>>:在一定范围内,每向右移1位,相当于/2
面试题:
1, 最高效方式计算2 * 8? 2 << 3 或 8 << 1

2, num1 = 10 ,num2 = 20,如何把num1的值赋值到num2?
num1 = num1 ^ num2;
num2 = num1 ^ num2;(num2 = num1)
num1 = num1 ^ num2;(num1 = num2)

结论:
凡是可以使用三元运算符的地方,否可以改写为if-else,反之不成立
如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁,执行效率高

4,逻辑运算符

&&(逻辑与):表示条件都满足时,返回true,不满足时返回false

||(逻辑或):有一个条件满足时,返回true,不满足时返回false

^是位异或运算符,按二进制位每个对应为异或(面试)
1^0=0;
0^0=1;
也就是说对同一个字符进行两次异或运算就会回到原来的值。

三目运算符(面试)
布尔表达式?表达式1:表达式2
例如:a>b?(如果为true)返回表达式1,如果为false返回表达式二

&&和&的区别(面试)

  1. 同:&&和&都可以表示逻辑与,相当于运输符and,当整个运算结果为true,才为true否则为false
  2. 异:&&具有短路的功能,当第一个表达式的值为false的时候,则第二个表达式不执行;&则两个表达式都执行
  3. &可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。

String类型变量的使用:

String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+,运算的结果仍然是String类型
char c = ‘a’;
int num = 10;
String str = “b”;
System.out.println(c + num + str) -->结果为107b a–>97 A–>65

计算机种不同进制的使用
对于整数,有四种表示方式:
二进制(binary):0,1,满2进1,以0b或0B开头
十进制(decimal):0-9,满10进1
八进制(octal):0-7,满8进1,以数字0开头表示
十六进制(hex):0-9及A-F,满16进1,以0x或者0X开头表示,此处的A-F不区分大小写。如:0x21AF +1 = 0X21B0
在这里插入图片描述

二进制转十进制
0 0001 110 --> 1 * 2^3 + 1 * 2^2 + 1 * 2^1 = 14
原码:
1 0001 110 --> -14的原码
反码(除符号位外,各个位取反):
1 1110 001 --> -14的反码
补码(反码加一):
1 1110 010 --> -14的补码
计算机的底层都以补码的方式来存储数据

进入下一章,(03)Java基础笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值