栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java SE 自学笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java SE 自学笔记

自学补一下java基础
跟着视频学习,少部分图片截取自视频作者

自学视频地址

IDEA中创建java工程

File→new project→Empty Project

选择对应的Java环境配置即可


Java语法基础
标识符

标识符的命名只能以大小写字母,&,_,为开头命名

String Hello = "123";
String hello = "123";
String &hello = "123";
String _hello = "123";
java的数据类型
  • 基本类型(primitive type)
    • 数值类型
      • 整数类型
        • byte 一个字节
        • short 两个字节
        • int 四个字节
        • long 八个字节
      • 浮点类型
        • float 四个字节
        • double 八个字节
      • 字符类型
        • char
    • boolean类型:只有true和false
  • 引用类型(reference type)
    • 接口
    • 数组
变量的作用域
  • 类变量

    static 定义

    类中的方法可以直接使用用

  • 实例变量

    定义时候可以不用赋初值,有默认值

    从属于对象,类中各个方法可调用使用(先引用类名,调用变量)

  • 局部变量

    方法内部定义和使用

    必须初始化

常量

final来定义不变的量,变量名称全部大写

final FN = "10"
命名规范


java Doc生成自己的API文档

java doc命令用于生成自己的ApI文档

public class Doc {
    String name;

    
    public  String test(String name)throws Exception{
        return name;
    }
}

执行代码

javadoc -encoding UTF-8 -charset UTF-8 Doc.java
Java process control 流程控制
Scanner类

通过Scanner类的next() 与nextLine() 方法获取输入的字符串,

用hasNext() 与hasNextLine() 方法判断是否还有输入的数据。

  • next()方法,可以输入不带空格的字符串,只读取到空格之前的字符。

    Scanner scanner = new Scanner(Syetem.in);
    String str = scanner.next();
    System.out.println("输入的字符为:"+str);
    
  • nextLine()方法,读取字符直到回车为止。

    System.out.printf("请输入:");
    String str = scanner.nextLine();
    System.out.println("输入的内容为:"+str);
    
  • hasNext() 方法会判断接下来是否有非空字符,有则返回true,否则返回false。

  • hasNextLine() 方法会根据行匹配模式下去判断接下里是否有一行(包括空),有则返回true,否则返回false。

//创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("======================================================");
        //普通方法输入
        System.out.printf("请输入:");
        String str = scanner.nextLine();
        System.out.println("输入的内容为:"+str);

        System.out.println("======================================================");

        System.out.printf("使用hasNextLine()方法接收:");
        //判断用户有没有输入字符串使用nextLine方法
        if (scanner.hasNextLine()){
            String str2 = scanner.nextLine();
            System.out.println("输入的内容:"+str2);
        }


        System.out.println("======================================================");

        System.out.printf("使用hasNext()方式判断:");
        //判断用户有没有输入字符串使用next方法
        if (scanner.hasNext()){
            String str1 = scanner.next();
            System.out.println("输入的内容:"+str1);
        }


        //关闭scanner,IO流用完关闭节约资源
        scanner.close();
选择结构if switch if选择结构
String str = "Hello";
if(str.equlas("Hello")){
    System.out.println("Hello");
}else if(str.equlas("hello")){
    System.out.println("hello");
}else{
    System.out.println("无效输入");
}
switch选择结构

java在jdk7才在switch中引入了字符比较

String str = "Hello";
        switch(grade){
            case 'Hello':
                System.out.println("C");
                break;
            case 'hello':
                System.out.println();
                break;
            default:
                break;
        }
循环结构 for while dowhile while,do while

do while 与 while相比至少会执行一次

//while 循环
int a = 1;
while(a<4){
    System.out.println(a++);
}

//do while 循环
do{
    System.out.println(a++);
}while (a<4);
for循环输出九九乘法表

for快捷键,循环次数+.+for

//for循环 九九乘法表
for(int i=1; i<10; i++){
    for (int j=1; j<=i; j++){
        System.out.printf(i + "*" + j + "=" + i * j + "t");
    }
    System.out.println();
}
增强for循环

java5引入,主要用于数组或集合的增强型for循环

int[] number = {10,20,30,40,50};
for (int i:number){
    System.out.println(i);
}
break,continue
  • break 意在退出,不再执行之后的循环语句
  • continue 意在退出本次循环,但会接着执行之后的循环
//循环输出,从1到100,当到11时候退出循环
for (int i=1; i<=100 ;i++){
	if (i==11) {
		break;
	}
	System.out.println(i);
}
//循环输出,从1到100,只输出10的倍数
for (int i=1; i<=100; i++){
    if (i%10!=0){
        continue;
    }
    System.out.println(i);
}
Java方法
什么是方法,方法的概念 方法是语句的合集
  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用
设计方法的原则
  • 因此方法的设计,遵循一个方法只完成一个功能
方法的定义

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

  • 修饰符:告诉编辑器如何调用该方法。如 public,static,final。
  • 返回值类型:方法是否会返回值,如果有返回值选择对应的数据类型即可如 int,Sting,char。如果没有,则以void。
  • 方法名:方法的名字,自己取。
  • 参数类型:方法被调用的时候,传递值给参数。这个值可以是变量也可以是实参。
    • 形式参数:在方法被调用时用于接收外界输入的数据
    • 实参:调用方法时实际传给方法的数据
  • 方法体:方法的具体实现
//修饰符 返回值类型 方法名(参数类型){
//   方法体
//   return;
//}

public class Demo06 {
    public static void main(String[] args) {
        //调用add方法传给add方法实参,即a b的值
        int sum = add(2,3);
        System.out.println(sum);
    }

    //写一个返回 a与b 和的方法 add
    public static int add(int a ,int b ){//int a,int b 为形参
        return a+b;
    }
}
方法的调用

调用方法:对象名.方法名

public class Demo06 {
	public static void main(String[] args) {
    //调用类Demo06中的text()方法实现1到5的输出
        Demo06 demo06 = new Demo06();
        demo06.text(1,2,3,4,5);
    }
    
	//可变参数
	//jdk 1.5 中产生,可以实现多个参数的传递
	//可变参数必须在方法中的方法类型中最后定义
	public void text(int... i){
    	for (int i1 = 0; i1 < i.length; i1++) {
        	System.out.println(i[i1]);
    	}
	}  
}

输出:

方法的重载

通俗的讲就是一个类中有两个方法名相同但参数类型不同的方法

  • 方法名称必须相同
  • 参数列表不同(个数不同,或类型不同,或参数排列顺序不同)
  • 方法的返回值类型可以相同也可以不同
//写一个返回 a与b 和的方法 add
public static int add(int a ,int b){//int a,int b 为形参
    return a+b;
}
//重载add方法 实现三个数相加
public static  int add(int a ,int b ,int c ){
    return a+b+c;
}

//重载add方法 实现两个小数相加
public static double add(double a ,double b ){
    return a+b;
}	
递归 定义

简单来说就是A方法调用A方法

运用阶乘来说明递归机制

public class Demo07 {
    public static void main(String[] args) {
        int su = f(5);//传递参数,调用方法计算5的阶乘,并将返回结果赋值给su
        System.out.println(su);
    }

    //实现阶乘的方法
    public static int f(int i){
        if (i == 1){
            return 1;
        }else{
            return i*f(i-1); //递归调用自己,实现自减一不断阶乘
        }
    }
}
递归优点

利用递归可以用简单的程序来解决一些复杂的问题

递归结构
  • 递归头:什么时候不调用自身方法。如果没有头,那将现如死循环。
  • 递归体:什么时候需要调用自身方法。
//实现阶乘的方法
public static int f(int i){
    if (i == 1){
        return 1;
    }else{
        return i*f(i-1); //递归调用自己,实现自减一不断阶乘
    }
}
数组
数组的概念
  • 数组是相同类型数据的有序集合
  • 数组中的每一个数据都有下标,可以通过下标访问
数组的声明创建

必须先声明数组变量,带能使用,语法格式:

dataType[] arrayRefVar ;//方法一 首选
dataType arrayRefVar[] ;//方法二 c语言定义方式

Java语言中声明数组变量后还需要用new来创建数组

arrayRefVar = new dataType[arraySize];

也可以直接声明的时候就new创建

dataType[] arrayRefVar = new dataType[arraySize];

获取数组的长度

arrays.length();

实例

//方法一
int[] numbers ;
numbers = new int[10];
//方法二
int[] number = new int[5];

//for循环 给number赋值
Scanner scanner = new Scanner(System.in);
System.out.println("请输入5个整数:");
for (int i=0 ; i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425684.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号