Java笔记1
标识符
- 标识符概述
就是给类、接口、方法、变量等命名时候用的字符序列 - 组成规则
英文大小写和字母
数字字符
$和_ - 标识符概述
不能以数字开头
不能是java中的关键字
区分大小写
示例:
合法标识符 | 非法标识符 |
---|---|
HelloWorld | Hello World |
_ 123 _ | 2B |
Demo | Demo# |
Bj_czbk$0703 | a12.3 |
标识符命名规则
- 类、接口(驼峰命名)
一个单词首字母大写,多个单词首字母大写
例子:Demo、DemoStudent - 方法、变量
一个单词就每个字母都小写,多个单词就第二个单词开始首字母大写
例子:getName、setName、maxValue - 常量
如果一个单词,所有字母大写,多个单词也全部大写,下划线分开
例子:MAX、MAX_VALUE
常量
class Demo_Constant {
public static void main(String[] args) {
/*
字符串常量:用双引号括起来的内容
整数常量:所有整数
小数常量:所有小数
字符常量:用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
布尔常量:boolean类,只有true 和 false
*/
System.out.println("abc"); //字符串常量
System.out.println(123); //整数常量
System.out.println(12.3); //小数常量
//System.out.println('10'); //''中必须放的是单个字符,10代表的是1字符和0字符
//System.out.println(''); //''中什么也不放,是不可以的,因为代表不了任何字符
System.out.println(' '); //代表空格字符
System.out.println(true); //boolean类只有两个值,true和false
}
}
进制
二进制:前面加0b表示二进制(b 可以大写也可以小写)
0b100 —— 4(十进制)
八进制:八进制前面加0
0100 —— 64(十进制)
十六进制:前面加0x表示十六进制(可以大写也可以小写)
0x100 —— 256(十进制)
进制转换
任意进制转十进制
- 二进制转十进制
0b100 = 1 * 22 + 0 * 21 + 0 * 20 = 4 - 八进制转十进制
0100 = 1 * 82+ 0 * 81 + 0 * 80 = 64 - 十六进制转十进制
0x100 = 1 * 162 + 0 * 161 + 0 * 160 = 256
原码反码补码
原码
最高位为符号位,"0"表示正, "1"表示负,其余位表示数值的大小;
反码
正数的反码与其原码相同;
负数的反码是对其原码逐位取反,但符号位除外;
示例:
7(原码):0 0000111 ---- 正数的反码与其原码相同
7(反码):0 0000111
-7(原码):1 0000111
-7(反码):1 1111000 ----负数的反码是对其原码逐位取反,但符号位除外
补码
正数的补码与其原码相同;
负数的补码是其反码的末位加1;
示例:
7(原码):0 0000111 ---- 正数的反码与其原码相同
7(补码):0 0000111
-7(原码):1 0000111
-7(反码):1 1111000 ----负数的反码是对其原码逐位取反,但符号位除外
-7(补码):1 1111001 ----负数的补码是其反码的末位加1;
逻辑运算符
逻辑运算符有哪些:
&,|,^,!
&&,||
结论:
& 逻辑与:有 false 则 false
| 逻辑或:有 true 则 true
^ 逻辑异或:相同为 false,不同为true
! 逻辑非:非 false 则 true, 非 true 则 false
&&和&的区别
1.最终结果一样
2.&&具有短路效果。左边false的话,右边不执行。
- 范例:&,|,^,!
class Demo1 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println(a < b & b < c); //true & true = true
System.out.println(a < b & b > c); //true & false = false
System.out.println(a > b & b < c); //false & true = false
System.out.println(a > b & b > c); //false & false = false
System.out.println(a < b | b < c); //true & true = true
System.out.println(a < b | b > c); //true & false = true
System.out.println(a > b | b < c); //false & true = true
System.out.println(a > b | b > c); //false & false = false
System.out.println(a < b ^ b < c); //true & true = false
System.out.println(a < b ^ b > c); //true & false = true
System.out.println(a > b ^ b < c); //false & true = true
System.out.println(a > b ^ b > c); //false & false = false
System.out.println(!true); //false
System.out.println(!false); //true
}
}
键盘录入
import java.util.Scanner;
class Test1{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入一个整数:");
int x = sc.nextInt(); //将键盘录入的数据存储在x中
System.out.println("请再输入一个整数:");
int y = sc.nextInt();
int sum = x + y;
System.out.println("sum = "+ sum);
}
}
break语句
break 语句直接结束循环
class Demo1_Break {
public static void main(String[] args) {
for (int i=1; i<=10; i++) {
if (i==4){
break; //结束循环
}
System.out.println("i = "+ i);
}
}
}
/*
输出结果:
i = 1
i = 2
i = 3
*/
Continue语句
终止本次循环,继续下次循环,并没有跳出循环
class Demo1_Break {
public static void main(String[] args) {
for (int i=1; i<=10; i++) {
if (i==4){
continue; //并没有输出4,语句回到i++
}
System.out.println("i = "+ i);
}
}
}
/*
输出结果:
i = 1
i = 2
i = 3
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10
*/
循环语句标号
class Demo1 {
public static void main(String[] args) {
outer:for (int i=1; i<10; i++)
{
System.out.println("i ="+ i);
inner:for (int j=1; j<10; j++)
{
System.out.println("j = "+ j);
break outer; //跳出指定循环
}
}
}
}
/*
输出结果
i =1
j = 1
*/
方法重载
方法的重载的规则:
- 方法名称必须相同。
- 参数列表内容不同。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以称为方法的重载。
class Demo2{
public static void main(String[] args) {
int sum1 = add(10, 20);
double sum2 = add(11.2, 20.2);
int sum3 = add(22, 39, 10);
System.out.println(sum1);
System.out.println(sum2);
System.out.println(sum3);
}
public static int add(int a, int b){
return a+b;
}
public static double add(double a, double b){
return a+b;
}
public static int add(int a, int b, int c){
return a+b+c;
}
}
/*
输出结果:
30
31.4
71
*/