我学完java开发之基础逻辑所总结的笔记

第一章 走进JAVA编程世界

一、JAVA怎么下载

1、先打开安装包下载一个jdk一个jre两个文件夹

2、打开系统高级设置,环境变量新建两个

(1) 变量名 JAVA_HOME

​ 变量值 C:\Program Files\Java

(2)变量名 CLASSPATH

​ 变量值 % JAVA_HOME%\lib\dt.jar;% JAVA_HOME%\lib\tools.jar

3、退出,在环境变量中找到path双击打开,新建两个

(1) % JAVA_HOME%\bin

(2) % JAVA_HOME%\jar\bin

4、退出 win+r 输入cmd

输入java-version 查看当前java版本号是否一致

5、打开使用

二、第一个java程序

1、java程序结构

public class class15 {
    System out println{"Hello word!"}
}

public 公用的

class 类名

class 15 类的名称

System out println{“Hello word!”}这行代码表示从控制台输出Hello word!

2、代码注释

// 单行注释

/* … */ 多行注释

/** … */ 被注释成程序的正式文件 包含文件的名称 作者 日期 版本信息

3、常见错误

(1)环境变量设置错误 需重新检查JDK环境变量配置是否正确

(2)编译错误

1、句尾的分号必须写

2、文件名需要与类名一致

3、void不可少

4、严格区分字母大小写

(3)运行错误

1、找不到运行文件 ➡️ 输入了不正确的类名

2、无法发现main() 方法 ➡️ 注意main的书写格式

第二章 变量、常量和运算符

一、java常用基本数据类型

数据类型关键字占用内存空间取值范围
布尔值boolean1true、false
字节值byte1-128~127
字符型char20~(2的16-1)
短整型short2-2的15~(2的15-1)
整型int4-2的31~(2的31-1)
长整型long8-2的63~(2的63-1)
单精度浮点型float41.4013E-45~3.4028E+38
双精度浮点型double84.9E-324~1.7977E+308
八种基本数据类型:

数值型 整型(byte、short、int、long) 浮点型(float、double)

字符型(char)

布尔型(boolean)

二、如何使用变量

先声明,并初始化后才可以使用

1、声明变量

String name;   //姓名
int age;       //年龄
double money;  //金额
boolean vip;   //是否会员

2、初始化变量

name="张三";
age=23;
money=2323.1;
vip=true;

变量名中不能包含%

三、常量

final 数据类型 常量名;

final 定义的常量只能被赋值一次,一旦被赋值,就不能再更改

final int DAYOFYEAR=365;  //一年包含的天数
final int HOUROFDAY=24;   //一天包含的小时数

四、常用的算术运算符

算术运算符名称作用示例
+加法求和1+1=2
-减法求差6-4=2
*乘法求乘积2*3=6
/除法求商9/3=3
%求余求余数6%4=2
++自加操作数加一int x=6 x=x+1
自减操作数减一int x=6 x=x-1

五、扫描器

Scanner input=new Scanner(System.in);
 System.out.println("请输入你的姓名:");
 String name= input.next();

数据接收类型

Stringnext()
intnext Int()
doublenext Double()

Scanner类的常用方法

方法描述
boolean hasNext()判断输入的数据是否为String类型
boolean hasNextInt()判断输入的数据是否为Int类型
boolean hasNextDouble()判断输入的数据是否为double类型
boolean hasNextBoolean()判断输入的数据是否为boolean类型

六、关系运算符

关系运算符说明举例结果
>大于x>y如果x>y成立,为真,否则为假
<小于x<y如果x<y成立,为真,否则为假
>=大于等于x>=y如果x>=y成立,为真,否则为假
<=小于等于x<=y如果x<=y成立,为真,否则为假
==等等于x==y如果x==y成立,为真,否则为假
!=不等于x!=y如果x!=y成立,为真,否则为假

第三章 if选择结构

一、流程

今天是不是好天气?

如果是去爬山

如果不是去看电影

二、if选择结构的应用

简单if选择结构:用来处理单一或组合条件的情况

public class text {
    public static void main(String[] args) {
       Scanner input=new Scanner(System.in);
        System.out.println("请输入你的年龄:");
       int age=input.nextInt();
        if (age>=18){
            System.out.println("你已成年!");
        }
    }
}

三、常用的逻辑运算符

运算符名称说明
&&表示多个条件都为true否则为false
||或者表示多个条件中一个为true 结果为true 多个条件都为false结果为false
条件为true时,结果为false 条件为false时,结果为true

四、if else的选择结构

可以处理具有两个分支的选择结构

if (条件表达式){
    //代码块1
}else {
    //代码块2
}

五、多重if选择结构

可以处理具有两个以上分支的选择结构

if (条件1){
    //代码块1
}else if (条件2){
    //代码块2
}else {
    //代码块3
}

六、镶嵌if选择结构

可以处理某个分支中镶嵌其他选择结构的复杂情况

if (条件1) {
    if (条件2) {
        //代码块1
    } else {
        //代码块2
    }
}else {
    //代码块3
}

七、新增知识点

1、生成最小值到最大值之间的随机数

int num=(int)(Math.random()*(最大值-最小值+1)+最小值);

2、获取个位、十位、百位、千位、万位的数

int ge = num % 10;
int shi = num / 10 % 10;
int bai = num/100%10;
int qian = num / 1000 % 10;
int wan = num / 10000;

3、条件运算符

public class text {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入你的年龄:");
        int age = input.nextInt();
        String a = age >= 18 ? "你已成年" : "你未成年";
        System.out.println(a);
    }
}

第四章 switch选择结构

一、语法

switch (表达式){
    case 常量1:
        //代码块1;
        break;
    case 常量2:
        //代码块2;
        break;
    .......
    default:
        //代码块n
        break;
}

二、关键字

switch 表示开关

case 表示情况 case必须是一个常量 可以有多个,没有固定顺序

default 表示默认 一般放在最后,表示除case的所有情况外要执行的指令

break 表示停止 表示执行完这个case或者default的指令后直接跳出整个switch结构

三、JAVA选择结构

1、if简单选择结构

2、if-else选择结构

3、多重if选择结构

4、镶嵌if选择结构

5、switch选择结构

第五章 while循环结构

一、什么是while循环?

while (循环条件){
   // 循环操作
}

循环条件:是一个表达式,他的值为布尔类型(boolean),结果为true或者false

循环操作:位于{}中的代码,又称为循环体

二、调试知识

Debug:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

类似小虫子的图标,点击会进入调试阶段,代码运行到那一步都会显示。

更有利于我们进行调试代码

三、do-while循环结构

1、do-while循环的执行过程是先进行循环操作,再来判断循环条件是否成立。

如果成立,就会继续循环,如果不成立,就会跳出循环

无论循环条件是否成立,循环操作至少会重复一次

2、while循环与do-while循环的区别

while循环结构的特点是先判断,后执行

do-while循环的特点是先执行,后判断

第六章 for循环结构

一、语法

for (int i = 1; i <= 5; i++)// 表达式1    表达式2  表达式3 
{  //循环体
              }
          }

表达式1:设定循环变量的初始值,确定从哪个值开始计数

表达式2:为循环条件的表达式,结果为Boolean类型,它的作用是来确定循环的终点;如果没有该表达式,则该循环为死循环

表达式3:用于完成循环变量递增或者递减的表达式,通常会用到“++”或者“–”运算符

二、跳转语句

1、break跳转语句

for (int  i = 1;  i <6 ;  i++) {
    if (有临时任务){
        break;
    }
}

当条件满足临时任务条件时,使用break跳出当前循环

2、continue跳转语句

for (int i = 1; i <6 ; i++) {
    if (需要充电了){
        continue;
    }
}

当条件“需要充电了"成立,跳出当前循环,后面的语句将不再会被执行

即continue的作用是跳出当前的循环,但是仍然可以进行下一次循环,并不是结束所有循环

第八章 数组

一、为什么使用数组?

当我们想要输出一些东西我们可能会用

System out println{“asdads”}

System out println{“asdads”}

但是,当我们需要输出成千上万个又该怎么写?

我们可以定义一个数组

int []nums=new int[99999];

表示我们设置了一个数组,命名为nums,他的里面可以储存99999个变量

在我们定义一个数组后 例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们定义一个长度为4的数组,内容为21、73、29、7

下面的0、1、2、3为他们的下标

注意,下标是从0开始 最大下标为:数组长度减一

二、语法

数组名=new 数据类型[数组长度];

数组的类型和长度决定着这串连续内存的空间大小 例:

names=new String[6];  //电子菜单中最多可以储存6种名称
nums=new int[5];      //可以储存5种int类型的数据
prices=new double[6]; //可以储存6种价格数据

我们在获取数组长度时,可以使用length;

int[] nums = new int[6];
System.out.println(nums.length);

三、数组元素初始值

数据类型初始值
int0
double0.0
char‘\u0000’
booleanfalse

四、数组的综合应用

1、数组排序

运用新代码

public class text {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int [] nums =new int[5];
        for (int i = 0; i <nums.length ; i++) {
            System.out.println("请输入"+(i+1)+"个数:");
            nums[i]=input.nextInt();
        }
        Arrays.sort(nums);                                                              
        for (int i = 0; i <nums.length ; i++) {
            System.out.println(nums[i]+" ");
        }
    }
}

2、求数组最大最小值

擂主=选手[0];
 for (int i = 1; i <选手数 ; i++) {
     if (选手[i]>擂主){
         擂主=选手[i];
     }
 }

3、在数组中插入数据

public class text {
    public static void main(String[] args) {
        int[] cards = new int[5];
        int shu = 0;
        int index = cards.length;     //储存插入位置
        Scanner input = new Scanner(System.in);
        cards = new int[]{12, 54, 32, 66, 0};
        System.out.println("请输入要插入的数");
        shu = input.nextInt();
        for (int i = 0; i < cards.length; i++) {
            if (shu > cards[i]) {
                index = i;            //找到插入位置并记录
                break;
            }
        }
        for (int i = cards.length - 1; i >= index; i--) {
            cards[i] = cards[i - 1];
        }
        cards[index] = shu;
        System.out.println("添加数后的数为:");
        for (int i = 0; i < cards.length; i++) {
            System.out.println(cards[i] + " ");
        }
    }
}

四、数组知识总结

1、使用数组保存数据的步骤:声明数组、分配空间、为数组元素赋值

2、数组可以用一个循环为元素赋值,或用一个循环输出数组中的元素信息

3、数组中的下标是从0开始

4、数组中的所有元素必须属于相同的数据类型

第九章 深入循环结构

一、多重循环

1、while

2、do-while

3、for

4、while中嵌套while循环

5、do-while循环中嵌套do-while循环

6、for循环中嵌套for循环

7、其他不同的循环嵌套

二、典型例题

1、使用java代码输出矩形

for (int i = 1; i <=9 ; i++) {
                              //内层循环 控制每行输出个数
    for (int j = 1; j <=9 ; j++) {
        System.out.print("*");
    }
    System.out.print("\n");   //换行
    }

2、输出直角三角形

public class text {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入行数");
        int hang = input.nextInt();
        for (int i = 1; i <= hang; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

3、输出等腰直角三角形

public class text {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int stars = 1;

        System.out.println("请输入行数");
        int hang = input.nextInt();
        int spaces = hang - 1;
        for (int i = 1; i <= hang; i++) {//外层循环控制行数
            for (int j = 1; j <= spaces; j++) {//输出每行前面的空格
                System.out.print(" ");
            }
            for (int k = 1; k <= stars; k++) {
                System.out.print("*");
            }
            System.out.println();//换行
            spaces--;
            stars += 2;
        }
    }
}

4、用java语言输出九九乘法表

public class text {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        for (int i = 1; i <9 ; i++) {
            for (int j = 1; j <=i ; j++) {
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println(" ");
        }
    }
}

第十一章 类和对象

一、类是对象的模板,对象是类的实例

二、类和对象的应用

1、如何定义类

public class <类名>{
    //定义属性部分
     属性一的类型    属性一
     .......
     
     
     //定义方法部分
     方法一();
     .......
 }

主要分为三个步骤:

(1)定义类的框架

(2)编写类的属性 → 一般是声明一个变量 复制什么的

例如 String name; int age; …

(3)编写类的方法 → pubilc viod sing(){} 编写了一个唱的方法

二、语法

对象名.属性 //引用对象的属性

对象名.方法名() //引用对象的方法

三、如何创建和使用对象

1、语法名

类名 对象名=new 类名();

text text=new text();

使用对象后就可以再调用方法

四、总结

定义类:使用关键字class

创建类的对象:使用关键字new

使用类的属性和方法:使用符号“.”

第十二章 类的无参方法

一、类的方法

1、返回值类型

2、方法名

3、主体 { 修饰符 参数 }

4、定义 确定方法名 返回值类型 方法体

二、 语法

1、return 返回值

功能1:跳出方法。结束当前的方法
功能2:返回结果,如果执行完产生了一个值,将这个值放在ruturn后,表示结束方法并把执行产生的值返回给调用它的程序/

2、对象名.方法名();

每个对象都要描述一个具体的事物,当需要某一个对象来完成他的一项特定功能时,通过调用它的方法来实现。 在类中,不同的方法之间可以互相调用。

三、变量的作用域

局部变量和成员变量的区别

定义作用域初始值
成员变量定义类中,方法外的变量在整个类中都有效,所有成员方法都可使用有初始值
局部变量定义在方法中的或代码块中的变量仅限于定义它的方法,方法外无法访问无初始值

一个方法中,不允许有相同名字的局部变量,在不同方法中,可以有不同名字的局部变量

局部变量可以和成员变量同名,并且在使用时,遵循就近原则,局部变量优先级更高

四、javaDoc注释

1、什么是javaDoc注释

我们所学习的java注释有单行注释 // 还有多行注释/ /

除此之外,还有Java Doc注释

/**
 * Member类
 * @author Tom
 * @version 1.0  2023/10/25
 */

2、常用的javaDoc标签

标签含义标签含义
@author作者名@version版本标识
@paramemter参数及其含义@since最早使用该方法/类/接口的JDK版本
@return返回值@throws异常抛出条件

第十四章 类的带参方法

一、什么是带参方法

语法

[<访问修饰符>]返回值类型<方法名>([<参数列表>]){
    //方法体
        [return 返回值;]
    }
数据类型  参数1, 数据类型 参数2...数据类型 参数n,

其中n>=0。如果n=0,代表没有参数,这是方法就是无参方法

二、如何调用带参方法

语法

对象名.方法名(参数1,参数2,…,参数n);

三、带多个参数的方法

常见错误

1、形参和实参的数量不同
2、形参和实参的数据类型不同
3、在实参前添加数据类型
4、未处理返回值
5、传参顺序和实参顺序不一致

四、带参方法进阶

1、数组作为方法的参数
2、对象作为方法的参数

五、java中的包

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**Package就相当于文件夹 ** 在java中,通过包来管理类

六、总结

声明包用package关键字,导入包使用import关键字

第十五章 字符串

一、String类字符串的方法

1、获取字符串长度:.length()

String name = "默默";
int anInt = name.length();

2、查找字符出现的位置:

indexuf(“需要查找的字符”)

String name="abcefd";
int i=name.indexOf("b");
System.out.println("第一个要查的字符的位置是:"+i);

lastlndexof(”需要查找的字符“)

String name="abcdef";
int i=name.lastIndexOf("b");
System.out.println("最后一个要查找的字符的位置是:"+i);

3、截取范围内的字符串

subString(截取的范围)
subString(2)–只有开始的位置–从开始的位置(包括开始的字符)截取到最后
subString(2,6)–由开始的位置和结束的位置,截取范围之间的字符(包括开始的字符,不包括结束的字符)

4、合并字符串

(1)用+号连接的数据类型
(2)–concat(”需要添加的字符串“)
String name = "abcdef";
String newName = name.concat("ddeeff");
System.out.println(newName);

5、拆分字符号

spilt(”需要拆分的地方“)–拆分出来的是一个数组类型

String[] names=name.split(" ");
 for (int i = 0; i <names.length ; i++) {
     System.out.println(names[i]);
 }

6、格式化

trim()–之去掉字符串开头和结尾的空格

String name=" aabbcc";
String i=name.trim();
 System.out.println(i);

7、大小写

大写toUpperCase()
String name = "aabbcc";
String i = name.toUpperCase();
System.out.println(i);
小写toLowerCase()
String name = "aabbcc";
String i = name.toLowerCase();
System.out.println(i);

8、判断相等

(1)比较对象.equals(比较对象)—只能比较是否一模一样
(2)比较对象.equalsignoreCase(比较对象)—比较但不区分大小写
(3)使用两个=号判断相等–比较堆的地址是否相等

二、StringBuffer类

StringBuffer类型字符的方法
(1)改变类型成为String类型 toString()
(2)合并字符串 appen(”需要添加的内容“)

)–由开始的位置和结束的位置,截取范围之间的字符(包括开始的字符,不包括结束的字符)

4、合并字符串

(1)用+号连接的数据类型
(2)–concat(”需要添加的字符串“)
String name = "abcdef";
String newName = name.concat("ddeeff");
System.out.println(newName);

5、拆分字符号

spilt(”需要拆分的地方“)–拆分出来的是一个数组类型

String[] names=name.split(" ");
 for (int i = 0; i <names.length ; i++) {
     System.out.println(names[i]);
 }

6、格式化

trim()–之去掉字符串开头和结尾的空格

String name=" aabbcc";
String i=name.trim();
 System.out.println(i);

7、大小写

大写toUpperCase()
String name = "aabbcc";
String i = name.toUpperCase();
System.out.println(i);
小写toLowerCase()
String name = "aabbcc";
String i = name.toLowerCase();
System.out.println(i);

8、判断相等

(1)比较对象.equals(比较对象)—只能比较是否一模一样
(2)比较对象.equalsignoreCase(比较对象)—比较但不区分大小写
(3)使用两个=号判断相等–比较堆的地址是否相等

二、StringBuffer类

StringBuffer类型字符的方法
(1)改变类型成为String类型 toString()
(2)合并字符串 appen(”需要添加的内容“)
(3)插入字符串 insert(要插的位置,”要插的字符“)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值