Java学习之路(一)

java基础知识(一)

包含内容:

  1. 基础语法
  2. 流程控制
  3. 方法
  4. 面向对象
  5. 输入方法
  6. 数组
  7. Random类的使用
  8. Arraylist集合
  9. 字符串
  10. static

一.基础语法、流程控制、方法、面向对象:本人认为这些部分和c#及其他语言极度相似,不在此处再次解释

二.输入

  • java的输入依靠Scanner类,我们通常利用Scanner类中的next() 和nextline()方法去读取用户输入,利用hasnextxxx()方法去判断输入数据类型
  • import java.util.Scanner;
    
    public class demo1 {
        public static void main(String[] args) {
            //创建 Scanner 对象的基本语法
            Scanner scanner = new Scanner(System.in);
            //next()和nextline()方法的区别
            /*
              next():
                1、一定要读取到有效字符后才可以结束输入。
                2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
                3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
                next() 不能得到带有空格的字符串。
              nextLine():
                1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
                2、可以获得空白。
           */
            String str = new String();
            str = scanner.nextLine();
            System.out.println(str);
    
            String str2 = new String();
            str2 = scanner.next();
            System.out.println(str2);
    
            //在使用完scanner后建议关闭scanner
            scanner.close();
        }
    }
    

     

三.数组

  • 数组的常用定义方法和遍历
    import java.util.Scanner;
    
    public class demo1 {
        public static void main(String[] args) {
            //动态定义数组
            //数据类型[] 数组名称 = new 数据类型[数组长度]
            int [] a1 = new int[5];
            Scanner scanner = new Scanner(System.in);
            for (int i = 0; i < a1.length; i++) {
                a1[i] = scanner.nextInt();
            }
            //静态定义
            //数据类型[] 数组名称 = {...};
            int[] a2 = {1,2,3,4,5};
    
    
            //数组遍历
            //1.fori
            for (int i = 0; i < a1.length; i++) {
                System.out.println(a1[i]);
            }
            //2.foreach
            for(int i : a2){
                System.out.println(i);
            }
            scanner.close();
        }
    }
    

     

四.Random的使用

  • 什么事random类,random是用来产生随机数的一个类,使用方法与scanner类相似
  • import java.util.Random;
    
    public class demo1 {
        public static void main(String[] args) {
            Random random = new Random();
            //random中的nextInt()方法有一个重载
            int[] a = new int[10];
            for (int i = 0; i < 10; i++) {
                a[i] = random.nextInt();//在int的范围中产生谁技术
            }
            int[] a2 = new int[10];
            for (int i = 0; i < 10; i++) {
                a[i] = random.nextInt(10);//在0~9中产生随机数
            }
        }
    }
    

     

 五.ArrayList

  • 什么是ArrayList:ArrayList是java中可变数组的实现,ArrayList中的元素为泛型,泛型只能是引用类型,存储int等基本类型通常用自动装箱、拆箱机制。
  • 值得注意的是,ArrayList中的add方法是必定添加成功的,在今后学习中其他集合则要求用boolean success = list.add() 来判断是否添加成功
  • import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    public class demo1 {
        public static void main(String[] args) {
            //创建list,泛型为int
            ArrayList<Integer> list = new ArrayList<>();
            //add()方法添加元素
            for (int i = 0; i < 10; i++) {
                list.add(i);
            }
            //遍历list
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
                //get()方法得到元素
            }
            //删除元素
            list.remove(9);
    
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
    }
    

     

 六.String类字符串

  • 程序中所有双引号字符串都是String类的对象
  • String字符串的内容不可变(你以为的更改其实是改变了引用地址)
  • 字符串在效果类似char()字符数组,在底层中都是byte[]数组
  • 字符串的创建方法
    import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    public class demo1 {
        public static void main(String[] args) {
            //空白字符串
            String str1 = new String();
            //根据字符数组创建
            char[] a1 = {'a','b','c'};
            String str2 = new String(a1);
            //根据字节数组创建
            byte[] a = {91,98,99};
            String str3 = new String(a);
            //直接创建
            String str4 = "java";
        }
    }
    

     

  • 字符串的 常用方法

    import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    public class demo1 {
        public static void main(String[] args) {
            //字符串的对比
            //public boolean equals(Object obj)区分大小写
            //通常使用“abc”.equals(str)形式
            String str1 = "java";
            String str2 = "hello";
            System.out.println(str1.equals(str2));
            //public boolean equalsIgnoreCase(Object obj)忽略大小写(仅限英语)
            System.out.println(str1.equalsIgnoreCase(str2));
    
            //字符串获取
            String str3 = "abcdefghijk";
            //public int length();获取字符串长度
            int Length = str3.length();
            System.out.println(Length);
            //public String concat(String str):等效于str1+=str2
            str3.concat(str2);
            System.out.println(str3);
            //public char charAt(int index):得到索引位置的字符
            System.out.println(str3.charAt(0));
            //public int indexOf(String str) 查找参数字符串在当前字符串中第一次出现的位置,如果没有则返回-1
            System.out.println(str3.indexOf("abc"));
            //public String substring (int index)截取参数一直到字符串末尾的字符串,public String substring (int star,int end);截取star到end-1的字符串
            System.out.println(str3.substring(4));
            System.out.println(str3.substring(0,2));
            //public char[] tocharArray():将当前字符串拆分为字符数组
            //public byte[] tobytes():将当前字符串拆分为字节数组
            //public String replace(oldstring ,newstring )将当前字符中oldstring替换为newstring 并返回新字符串
            //public String[] split(String regex),根据regex将字符串切分为若干部分,注意这里的regex要用正则表达式
        }
    }
    

     

七.static关键字

  • 在一个类中字段字段用上static后,该字段将会属于该类而不是对象
  • 静态代码块:在使用该类时,静态代码块只使用一次

public class demo1 {
    public static void main(String[] args) {
        //静态变量的使用为类名.方法名
        Person.print();
    }
}



public class Person {

    static void print(){
        System.out.println(111);
    }
}


public class Person {

    static {//静态代码块的定义
        System.out.println(222);
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值