JAVA基础学习笔记

JAVA第一章基础

JAVA值传递

1.新建一个java文件

文件后缀名为.java Hello.java

2.编写代码

public class Hello{ public static void main (String[] args){ System.out.print("Hello,world !"); } }

3.编译javac java文件,会生成一个class文件

在这里插入图片描述

在这里插入图片描述

4.运行class文件,java class

可能遇到的问题

1.每个单词的大小写不能出现问题,java是大小写敏感的

2.尽量使用英文

3.文件名和类名必须保持一致(包括大小写)

4.符号使用了中文

安装idea

psv快捷定义类

sout快捷输出

1.注释、标识符、关键字

java中的注释有三种:

单行注释

//单行

多行注释

/*

多行注释

*/

文档注释

2.数据类型

标识符

所有的标识符都应该以字母或者下划线开始

标识符是大小写敏感的

强类型语言

要求变量的使用要严格符合规定,所有变量都必须定义后才能使用

java的数据类型分为两大类

基本类型

数值类型

在这里插入图片描述

在这里插入图片描述

什么是字节

位(bit)是计算机内部数据存储的最小单位,11001100是一个八位二进制数

字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示

1B(byte,字节)=8(bit位)

字符:是指计算机中使用的字母、数字、字和符号

1bit表示1位

1byte表示一个字节1B=8b

1024B=1KB

1024KB=1M

1024M=1G

引用类型

在这里插入图片描述

3、类型转换

4.运算符

4.1加减乘除++ ,–

在这里插入图片描述

4.2逻辑运算

&& 与的意思

|| 或的意思

!非的意思

4.3关系运算符

*== != > >= < <=*

4.4三元运算符

在这里插入图片描述

包机制

为了更好的组织类,java提供了包机制,用于区分类名的命名空间

语法格式:

package pkg1[.pkg2[.okg3...]];

一般利用公司域名倒置作为包名:com.baidu

import导入包

import com.xxx.xxx.* 导入包下所有内容

JavaDoc

javadoc命令是用来生成自己api文档

参数信息

@auther 作者名

@version 版本号

@since需要最早的jdk版本

@param 参数名

@return 返回值情况

@throws 异常抛出情况

加在类上面就是类的注释,加在方法上面,就是方法的注释

第二章

1用户交互scanner

scanner对象

基本语法:

Scanner s = new Scanner(System.im);

scanner.next()

next()不能得到带有空格输入的字符串

scanner.nextline()

以enter为结束符

可以获得空白

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.顺序结构

JAVA的基本结构就是顺序结构

从上到下执行代码

3.选择结构

if单选择结构

在这里插入图片描述
if双选择结构
在这里插入图片描述

switch多选择结构

switch变量可以是byte、short、int、char

switch从java7支持String类型

case标签必须为字符串常亮或字面量

在这里插入图片描述

如果不输入break 会一次执行后面的代码,case穿透

4.循环结构

while循环

先判断后执行

在这里插入图片描述

do 。。。while循环

在这里插入图片描述

是先判断后执行

do while 总是能保证循环至少能执行一次

for循环

for循环的执行次数是在执行前就确定的,语法格式如下:

for(初始化;布尔表达式;更新){代码行}在这里插入图片描述

在这里插入图片描述

\t是空格,\n是换行

``

print("\tPython")#\t表示空四个字符,也称缩进,相当于按一下Tab键
print("\nPython\nJAVA\nC++\nJavaScript\nC#")#\n表示换行,相当于按一下回车
print("languages:\n\tPython\n\tJAVA\n\tC++\n\tJavaScript\n\tC#")#\n\t表示换行加每行空四格

5.break&continue

6.练习

​ 打印一个三角形

逐行分析,第一行打印一个*,前面打印N个空格然后空格递减,*递增

在这里插入图片描述

JAVA方法

1.何为方法

在这里插入图片描述

2.方法的定义及调用

方法包含一个方法头和一个方法体

在这里插入图片描述

我们可以看到方法的基本组成包括:名称、参数、返回值和方法体。

  • 修饰符:方法的修饰符较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等。
  • 返回值类型:用于限定方法返回值的数据类型。
  • 参数类型:用于限定调用方法时参数参数的类型。
  • 参数名:是一个变量,用于接收调用方法时传入的数据。
  • return关键字:用于结束方法以及返回方法指定类型的值。
    当方法以void关键字声明,那么此方法没有返回值;但可以使用return来结束调用。

`

public static 返回类型 方法名称([参数类型 变量, ......]) {
    方法体代码;
    [return [返回值];]
}
1234

在定义方法的时候对于方法的返回值有以下的两类:

  • void:没有返回值;
  • 数据类型(基本类型,引用类型)。

示范: 定义一个没有返回值,没有参数的方法

public class TestDemo {
    public static void main(String[] args) {
        print();    //主方法里面直接调用方法
    }
    public static void print() {
        System.out.println("Hello   World!"); //定义方法
    }
}
12345678

`

3.方法重载

方法名一样,参数不一样,把int改成double参数 就是方法重载
在这里插入图片描述

方法名称必须相同

参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)

方法的返回类型可以相同也可以不同

仅仅返回类型不同不足以成为方法的重载

4.命令行传参

在这里插入图片描述

cmd启动javac demo2.java 先编译一下

然后命令行输入java demo2.java +参数 输出传参结果
在这里插入图片描述

5.可变参数

6.递归

递归就是A方法调用自己

递归包含两个部分

递归头:什么时候不调用自身方法,如果没有头,将陷入死循环

递归体:什么时候需要调用自身方法
在这里插入图片描述

数组

1.数组概念

数组是相同类型数据的有序集合

2.数组申明创建

必须声明变量,才能在数据中使用数据,语法:

dataType[] arrayRefVar;

或者

dataType arrayRefVar[];

用new操作符来创建数组,语法:

dataType[] arrayRefVar = new dataType[arraySize]

arraySize先要定义数组的大小

获取数据的长度arrayRefvar.length

在这里插入图片描述

在这里插入图片描述

内存分析

3.数组使用

for循环增强使用,遍历数组

int[] a={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
for (int i : a) {
    System.out.println(i);

快捷键a.for

i为数组中的值

4.多维数组

数组中的值还是一个数组

int[][] array=new int[][]

5.Arras类

冒泡排序

在这里插入图片描述

经典的冒泡排序

6.稀疏数组

当一个数组中的大部分元素为0,或者为同一个值的时候,可以使用稀疏数组来保存

稀疏数组的处理方式:

记录数组一共有几行几列,有多少个不同值

把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模

面向对象

1.初识面向对象

三大特性

封装

继承

多态

2.方法回顾和加深

3.对象的创建分析

静态方法 +static

``

public static void arrays(int[] array){
    for (int i=0;i<array.length;i++){
        System.out.print(array[i]+" ");
    }

可以直接用arrays(xx)直接调用

可以直接调用

非静态方法

不加static

需要创建一个方法调用

``

public class Printshuzu {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6};
        Arrays(a);




    }
    public  void   Arrays(int[] array){
        for (int i=0;i<array.length;i++){
            System.out.print(array[i]+" ");
        }


    }


}

调用上面的数组循环

Printshuzu printshuzu=new Printshuzu();

Printshuzu.Arrays();

类scanner的调用

类与对象的关系

类是一种抽象的数据类型,他是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物

对象是抽象概念的具体实例

``

package end;
//一个类只有属性和一种方法

public class Student {
    //属性:字段
    String name;
    int age;

    //方法
    public void study() {
        System.out.println(this.name+"在学习");

    }
}

上面是类,下面是调用类

package end;

public class demo1 {
    public static void main(String[] args) {
        Student xm=new Student();
        xm.age=3;
        xm.name="小名";
        System.out.println(xm.age);
        System.out.println(xm.name);
        xm.study();

    }
}

4.面向对象三大特性

封装

private //属性私有

get、set方法获取值

public class Student {
    //属性:字段
    //private是参数私有化的意思需要用get和set调用
    private String name;
    private int age;

    //方法
    public void getStudy() {
        //没有参数的情况下使用get调用
        System.out.println(this.name+"在学习");

    }
    public void setShu(String name,int age){
        //有参数的情况下使用set调用
        this.name=name;
        this.age=age;
        System.out.println(name);
        System.out.println(age);
    }

}
public class demo1 {
    public static void main(String[] args) {
        Student xm = new Student();
        xm.setShu("x",4);




        xm.getStudy();
        System.out.println();

    }
}

继承

父类,和子类,extends+父类,表示子类可以继承父类的内容

super

多态

5.抽象类和接口

6.内部类及oop实战

nt age;

//方法
public void getStudy() {
    //没有参数的情况下使用get调用
    System.out.println(this.name+"在学习");

}
public void setShu(String name,int age){
    //有参数的情况下使用set调用
    this.name=name;
    this.age=age;
    System.out.println(name);
    System.out.println(age);
}

}


public class demo1 {
public static void main(String[] args) {
Student xm = new Student();
xm.setShu(“x”,4);

    xm.getStudy();
    System.out.println();

}

}


继承

父类,和子类,extends+父类,表示子类可以继承父类的内容

super



多态

### 5.抽象类和接口

### 6.内部类及oop实战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值