Java se 学习笔记

这篇笔记涵盖了Java的基础知识,包括注释、标识符、数据类型(如字面常量、变量和类型转换)、运算符(如算术、逻辑和位运算)、逻辑控制结构(如if语句和switch语句)、循环结构(如for和while)以及方法的使用,特别强调了方法的重载概念。
摘要由CSDN通过智能技术生成

1.初始Java

注释

单行注释:// 注释内容(用的最多)
多行注释:/* 注释内容*/
文档注释: /** 文档注释 */
注意:注释不能嵌套

标识符

标识符可以包含:字母、数字以及 下划线和 $ 符号
注意:标识符不能以数字开头,也不能是关键字,比如new 且要注意区分大小写
大驼峰:每个单词首字母大写,比如SearchWord

2.数据类型与变量

字面常量

比如100,13.14,‘A’,true,flase等

  1. 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。
  2. 整形常量:比如:100、1000
  3. 浮点数常量:比如:3.14、0.49
  4. 字符常量:由单引号括起来的当个字符,比如:‘A’、‘1’
  5. 布尔常量:只有两种true和false
  6. 空常量:null
    注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型

数据类型

java中数据类型包括两种:基本数据类型引用数据类型
其中基本数据类型包括:

  1. 字节型(byte)1字节
  2. 短整型(short) 2字节
  3. 整型(int) 4字节
  4. 长整型(long) 8字节
  5. 单精度浮点数(float)4字节
  6. 双精度浮点数(double)8字节
  7. 字符型(char)2字节
  8. 布尔型(boolean)没用明确规定

变量

语法格式:数据类型 变量名 = 初始值
比如:int a = 10;
double d = 3.14;
char c = ‘a’;
boolean b = true;
注意:

  1. 在定义float时,需要在后面加上f/F
    比如:float a = 1.0f.因为在java中小数是默认为double类型
  2. boolean类型,只能由true和false,分别代表真和假

类型转换

在java中可以进行数据类型的转换
比如

int a = 10;
long b = 100L;
b = a;//编译成功
a = b;//编译失败

以上代码int型转化为long型时,编译失败,是因为int占4个字节,double占8个字节,在赋值的过程中有数据丢失,因此不可以。由此我们知道,我们可以将数据类型占小的字节转化为大的,不会影响,反之不可以。
那么如何正确转化

int a = 10long b = 15L;
a =int)b;

这样子就可以编译成功了

3.运算符

算术运算符

加减乘除模((+ - * / %)
这里加减乘不做过多介绍,主要介绍一下除和模

  1. 除和我们数学中的除不一样,当是两个int型数据相除的时候
int a = 5int b = 2int c = a / b;
System.out.println(c);//2

运行上面代码我们发现最终的值是2,int / int 结果还是int类型,而且会向下取整

  1. 如果有小数的话,我们会得到小数
float a = 5.0ffloat b = 2.0fSystem.out.println(a / b);//2.5

运行上述代码我们得到的值是2.5

  1. 自增自减运算符
int a = 1;
a++//后置++,说明此时的值已经是2了
System.out.println(a++); // 后置++是先使用这个值,所以还是2
System.out.println(a);//这个是3
++a;//前置++ 现在a = 4
System.out.println(++a); // 5,前置++ 是直接使用这个值了
System.out.println(a);//5

关系运算符

java中主要有6个,== !=

int a = 10;
int b = 20;
System.out.println(a == b) //false
System.out.println(a != b) //true

逻辑运算符(重点)

1.逻辑与&&
当两个表达式都是真的时候结果才为真,有一个假就是假

int a = 1;
int b = 2;
System.out.println(a == 1 && b == 2)//true

2.逻辑或 ||
两个表达式都为假的时候最后的结果才为假,有一个真就是真

int a = 1;
int b = 2;
System.out.println(a == 2 || b == 1)//false

3.逻辑非 !
将真变为假,将假变为真

int a = 1;
System.out.println(a == 1)//true
System.out.println(a != 1)//false

4.短路求值
&&和| |这两个操作符会按顺序执行

System.out.println(10 > 20 && 10 / 0 == 0); //  false
System.out.println(10 < 20 || 10 / 0 == 0);//   true

这就说明后面的10/0没有被执行,但是&和|没有短路求值

位运算符

位运算符一共有4个:& | ~ ^
1.按位与&:两个二进制位都是1的时候,结果是1,否则为0

int a = 3;
int b = 2;
int c = a & b;
System.out.println(c) //2

a的二进制是 011
b的二进制是010
c的结果是 010

2.按位或,如果两个二进制位都是0,结果是0,否则为1

int a = 3;
int b = 2;
int c = a | b;
System.out.println(c) //3

a的二进制是 011
b的二进制是010
c的结果是 011

3.按位取反~,如果该位为0,取反之后为1

4.按位异或^,如果两个数的二进制位相同,为0,反则为1
则1^1 = 0;
1^n ^1 = n
n^n = 0

移位运算(了解)

1.左移 <<:最左侧位不要了,最右侧补0
7的二进制位为:0000 0111
7 << 1 = 0000 1110 =14
左移一位相当于原来的数字乘2

2.右移>>:最右侧位不要了,最左侧补符号位(整数补0,负数补1)
11的二进制位为:0000 1011
11 >> 1 = 0000 0101 = 5
右移一位相当于原数字除以2(11/2 =5)

3.无符号右移>>>:最右侧位不要了,最左侧补0
-1的二进制位为1111 1111
-1 >>>1 = 0111 1111

条件运算符

表达式1?表达式2:表达式3
当表达式1为true时,执行表达式2的值
当表达式1为false时,执行表达式3的值

nt a = 10;
int b = 20;
int max = a > b ? a : b;//20

4.逻辑控制

顺序循环

按照顺序一行一行的执行

分支结构

if语句

1.if else语句
比如:如果我考了100分,就奖励玩游戏,否则继续学习

int score = 100;
if (score == 100){
System.out.println("玩游戏");
} else{
System.out.println("继续学习");
}

2,if else if else语句
比如:如果我考了90-100分,奖励100元
如果我考了80-90分,奖励50元
如果低于80分,奖励30元
这种就可以使用if else if else语句
3.注意else是和最近的if匹配的,所以我们尽量加上大括号

switch语句

switch(表达式){
case 常量值1:{
语句1;
break;
}
case 常量值2:{
语句2;
break;
}
default:{
}
例如以下代码

int day = 1;
switch(day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入有误");
break;
}

注意switch括号里面只能是:
基础类型:byte,char,short,int,不能是long
引用类型:String常量串,枚举类型

!!!break别忘记

循环结构

while循环

while(循环条件){
循环语句;
}
当循环条件为true时,执行循环语句,否则退出

break

break的功能是让循环提前结束

int num = 100;
while (num <= 200) {
	if (num % 3 == 0) {
	System.out.println("找到了 3 的倍数, 为:" + num);
	break;
	}
	num++;
}

上述代码我找到3的倍数时,就跳出整个循环了,所以最后的值为102

continue

continue是跳出当前的循环,进入下一次循环

int num = 100;
while (num <= 200) {
	if (num % 3 != 0) {
	num++; // 这里的 ++ 不要忘记! 否则会死循环.
	continue;
	}
	System.out.println("找到了 3 的倍数, 为:" + num);
	num++;
}

for循环

for(表达式①;布尔表达式②;表达式③){
表达式④;
}
执行顺序为:
①②③④—>②③④—>②③④—>②③④—>②③④—>②③④—>…—>②为false,循环结束。

do while循环(选学)

do{
循环语句;
}while(循环条件);
do while循环最后有一个分号
do while循环肯定会执行一次

###使用Scanner读取字符串/整数/浮点数
首先要导入util包

import java.util.Scanner;

Scanner sc = new Scanner(System.in);//固定格式
System.out.println("请输入你的姓名:");
String name = sc.nextLine();//读入一行
System.out.println("请输入你的年龄:");
int age = sc.nextInt();//读入整数
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();//读入浮点数
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法

5.方法的使用

java中的方法类似与C语言中的函数
1.如何定义
修饰符 返回值类型 方法名称([参数类型 形参 …]){
方法体代码;
[return 返回值];
}
比如实现两个整数相加的方法

public class Method{
public static int add(int x,int y){
	return x+y;
	}
}

一般采用小驼峰命名,java中,方法必须在类中

方法重载

什么是重载?
1.方法名相同
2.参数列表不同(包括参数类型,参数个数,类型顺序)
比如:

public static int add(int x,int y){
	return x+y;
}
public static double add(double x,double y){
	return x+y;
}

以上就是方法重载了,因为参数类型不同,一个int和double

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值