Java入门基础整理(一)

hello

执行 javac Hello.java 生成 Hello.class

// Hello 要与文件名相同
public class Hello{
    // 程序执行的起点
    public static void main(String[] args){
        System.out.print("Hello world");
    }
}
数据类型
1.基本类型
    整数型 byte short  int long
    浮点型float double
    字符 char
    布尔boolean
2.引用数据类型
字符串 数组 类 接口
关键字/标识符/常量
关键字

标识符
    不使用数字开头 

常量 
    字符串常量   双引号   'aaaaa'
    整数常量
    浮点数常量
    字符常量  单引号引起来的 只能有一个  'a'   'b'
    布尔常量  true false
    空常量  null
变量
  • 变量名称不能重复
  • float和long类型变量 F L 不能丢
  • byte short 数值不能超过范围
  • 没有赋值的变量不能直接使用
  • 变量使用不能超过作用域范围
 public class Bianliang{
  public static void main(String[] args) {
      int num1,num2;
     //  int num1=1,num2=2;
      num1 =10;
      num2 = num1 +10;
      System.out.println(num2);

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

      byte num3 = 30;
      System.out.println(num3);
      short num4 = 10;
      System.out.println(num4);
      long num5 = 20000;
      System.out.println(num5);

      float num6 = 2.5F;
      System.out.println(num6);

      double num7 = 2.5F;
      System.out.println(num7);

      char zf1 = 'A';
      System.out.println(zf1);

      boolean var1 =true;
      System.out.println(var1);
  }
}
类型

自动转换

  • 从小->大

强制转换

int num=(int)100L;
(要转换的类型)范围大的数据

  • 注意:
    强制使用不推荐使用
运算符
加减乘除取余
+
-
*
/
%

自增自减
++   --

赋值运算符
=
+=
-=
*=
/=
%=

比较运算符
==
<
>
<=
> =
! =

逻辑运算符
&& 与
|| 或
!  非

三元运算符
数据类型 变量名称=条件判断?表达式a:表达式b

方法
public static void 方法名称(){

}

public class Fangfa{
    public static void main(String[] args) {
        //调用方法
        farmer();
    }
    // 定义方法
    public static void farmer(){
        System.out.println("111");
        System.out.println("222");
        System.out.println("333");
    }
    public static void coo(){
        System.out.println("cook");
        System.out.println("321");
        System.out.println("123");
    }
}
流程(if/switch/for/while)
if(表达式){
}else{
}

if(表达式){
}else if(表达式){
}else{
}

switch(表达式){
    case 常量值:
        语句体;
        break;
    default:
        语句体;
        break;
}

for(;;){
}

while(条件判断){
}

do{
}while(条件判断);

方法调用

方法调用:

  1. 单独调用
  2. 打印调用
  3. 赋值调用

重载

    名称相同,
        1. 参数列表不同
        2. 参数类型不同
public class Fangfa0111{
    public static void main(String[] args) {
        int a=1;
        int b=2;
        System.out.println("-----");
        System.out.println(summ(a, b));//两数相加
        System.out.println(sum_lian(100));//1-某数的之和
        get_num_hello(5);
    }

    public static int summ(int a,int b){
        int c = a+b;
        return c;
    }
    public static int sum_lian(int a){
        int c=0;
        for(int i=0;i<=a;i++){
            c = c+i;
        }
        return c;
    }
    public static void get_num_hello(int a){
        for(int i=1;i<=a;i++){
            System.out.println("Hello");//1-某数的之和
        }
    }


    // 重载(名称相同,参数列表不同)
    public static int cz_sum(int a,int b){
        int c = a+b;
        return c;
    }
    public static int cz_sum(int a,int b,int c){
        int dd = a+b+c;
        return dd;
    }
    public static int cz_sum(int a,int b,int c,int d){
        int dd = a+b+c+d;
        return dd;
    }

}
数组arr
  1. 是一种引用数据类型
  2. 数组中的多个数据,类型必须统一
  3. 数组长度不可改变

初始化

  1. 动态初始化(指定长度)
  2. 静态初始化(指定内容)

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

public class Arr{
    public static void main(String[] args) {
    
        // 动态初始化
        int[] arrayA = new int[300];
        double[] arrayB = new double[10];
        String[] arrayC = new String[5];
        //静态初始化
        int[] arrayD = new int[] {1,2,4,5,6,7};
        int[] arrayE = {1,2,4,5,6,7};
        //读取
        System.out.println(arrayE[1]);
        //赋值
        arrayA[1] = 50;
        System.out.println(arrayA[5]);//默认0  ''  0.0
        System.out.println(arrayA[1]);//50
        //获取长度
        System.out.println(arrayD.length);
        //数组遍历
        for(int i=0;i<=arrayD.length;i++){
            System.out.println(arrayD[i]);
        }
        //数组的最值
        //数组反转(使用第三方)
    }
    public static void get_sum(int[] arrayA){

    }
}
object

导入包
import 包名称.类名称
如果同目录下不用写
Student stu = new Student()
stu.a
stu.a()


public class Obj{
    public static void main(String[] args) {
        int[] arrayD = new int[] {1,2,4,5,6,7};
        // System.out.println(arrayD.toString());
        Student stu = new Student();
        stu.aa();
        System.out.println(stu.bb);
    }
}
random

random 随机数
int r = rand.nextInt();随机生成正负
int r2 = rand.nextInt(10);//0-9

public class Random1{
    public static void main(String[] args) {
        
        // 生成随机数()
        Random rand = new Random();
        int r = rand.nextInt();
        System.out.println("随机数是:"+r);
        int r2 = rand.nextInt(10);
        System.out.println("随机数是:"+r2);//0-9
    }
}
scanner

键盘输入

1.导包
import
2.创建

3.使用

import java.util.Scanner;
public class Scann{
    public static void main(String[] args) {
        String str = "dsds";

        //创建
        Scanner sc = new Scanner(System.in);

        //使用
        //获取键盘输入数据
        // int num = sc.nextInt();
        // System.out.println(num);


        //求两个数的和
        System.out.print("请输入num1:");
        int num1 = sc.nextInt();
        System.out.print("请输入num2:");
        int num2 = sc.nextInt();
        int c = num1+num2;
        System.out.println(c);
    }
}
arraylist idea
import zf.com.Student;
import  java.util.ArrayList;
/**
 arraylist 使用
 1. 自定义学生类
 2. 创建集合 ,用来存学生对象
 3. 根据类创建4个学生对象
 4.将4个学生对象加到  add
 5.遍历集合 for size  get
 */
public class Arraylist_demo {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<Student> ();

        Student one = new Student("a",20);
        Student two = new Student("b",22);
        Student three = new Student("c",24);
        Student four = new Student("d",25);

        list.add(one);
        list.add(two);
        list.add(three);
        list.add(four);

        for (int i = 0; i < list.size(); i++){

            Student stu = list.get(i);
            System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge());
        }
    }
}


import  java.util.ArrayList;

/**
Arraylist

 System.out.println(list);//[aa, bb, cc]
 printList(list);//{aa@bb@cc}

 */

public class Arraylist_demo1 {
    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<String> ();

        list.add("aa");
        list.add("bb");
        list.add("cc");
        System.out.println(list);//[aa, bb, cc]

        printList(list);//{aa@bb@cc}
    }
    /**
     定义方法三要素
     1.返回值名称
     2.方法名称
     参数列表
     */
    public static void printList(ArrayList<String> list){
        System.out.print("{");
        for (int i = 0; i < list.size(); i++){
            String name = list.get(i);
            if(i==list.size()-1){
                System.out.print(name);
                System.out.print("}");
                break;
            }
            System.out.print(name+"@");
        }
    }

}


import  java.util.Random;
import  java.util.ArrayList;
/**
一个大集合存入20个随机数字,筛选其中偶数元素,
 放入小集合中

 */

public class Arraylist_demo2 {
    public static void main(String[] args) {

        ArrayList<Integer> list = new ArrayList<Integer> ();
        Random r = new Random();
        for (int i = 0; i < 20; i++) {
            list.add(r.nextInt(100+1));
        }

        ArrayList<Integer> smallList = getsmalllist(list);
        System.out.println(smallList);
        System.out.println(smallList.size());

    }

    /**
     * 接受大集合,返回小集合
     */
    public static ArrayList<Integer> getsmalllist(ArrayList<Integer> biglist){
        ArrayList<Integer> smalllist = new ArrayList<Integer> ();
        for (int i = 0; i < biglist.size(); i++) {
            int num = biglist.get(i);
            if (num %2==0){
                smalllist.add(num);
            }
        }

        return smalllist;
    }
}

import zf.com.Person;

import java.util.ArrayList;

/**
定义一个数组,用来存储3个Person对象

 数组缺点:一旦创建,长度不可改变

 ArrayList 集合
 ArrayList<Integer> list = new ArrayList<Integer> ();
    <> 泛型  定义数据的类型
    长度可随意改变
    ArrayList 打印,直接是值
    向集合中加数据 .add
    获取数据      .get
    删除          .remove
    获取长度        .size()

 */
public class Arraylist_person {
    public static void main(String[] args) {
        Person[] array = new Person[3];

        Person one = new Person("'迪丽热巴'",18);
        Person two = new Person("'鹿晗'",23);
        Person three = new Person("'陈赫'",22);

        array[0] = one;
        array[1] = two;
        array[2] = three;

        System.out.println(array[0]);//地址值
        System.out.println(array[1]);
        System.out.println(array[2]);

        System.out.println(array[0].getName());//'迪丽热巴'

        ArrayList<String> list2 = new ArrayList<> ();
        list2.add("aa");
        list2.add("bb");
        list2.add("cc");
        System.out.println(list2);
    }
}

import java.util.Scanner;

/**
 输入一个字符串,统计各种字符串出现的次数
 1. 输入Scanner
 2.键盘输入的字符串   String str = sc.next()
 3.定义四个变量,用来代表各种字符穿心的次数
 4.对字符串一个个进行检查 String->char[]  方法: toCharArray()
 5.遍历char[] 进行判断
 6.打印出现的次数
 */
public class Scanner_test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个字符串");
        String input = sc.next();
        int dx = 0;
        int xx = 0;
        int sz = 0;
        int qt = 0;

        char[] charArray= input.toCharArray();
        for (int i = 0; i <charArray.length; i++ ){
            char c =charArray[i];
            if ('A'<=c && c<='Z' ){
                dx++;
            }else if ('a'<=c && c<='z'){
                xx++;
            }else if ('0'<=c && c<='9'){
                sz++;
            }else {
                qt++;
            }
        }
        System.out.println("大写字母有:"+dx);
        System.out.println("小写字母有:"+xx);
        System.out.println("数字有:"+sz);
        System.out.println("其他有:"+qt);

    }


}
static
import zf.com.Static_t;

import java.util.Arrays;

/**
 * Arrays工具类
 Arrays.sort(arr1);  排序
 toString(数组)   数组->字符
 sort               排序 (小到大)

 */
public class Static_demo {
    public static void main(String[] args) {
        Static_t a = new Static_t();
        Static_t b = new Static_t();

        String str = "sdijsncdkncksdmco324";
        char[] arr1 = str.toCharArray();
        Arrays.sort(arr1);
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }
}

string
/**
String字符串类
 equals 比较
 equalsIgnoreCase  比较  忽略大小写

 length 长度
 concat 拼接字符串相当于+

 charAt 获取指定索引位置的单字符
 indexof   字符串首次出现的位置
 substring       截取

 tocharArray()  字符串改为字节数组
 getBytes()     当前字符串底层的字节数组
 replace        替换

 split          切割 字符串->数组
                数组->字符串

 */

public class String_test {
    public static void main(String[] args) {

        String a = "Hello";
        String b = "Hello";
        String c = "hello";
        String d = "hello,asasakndsknd,k4ji2o3n435no4n532o532";
        System.out.println(a.equals(b));//true
        System.out.println(a.equals(c));//false
        System.out.println(a.equalsIgnoreCase(c));//true 忽略大小写
        System.out.println(a.length());

        System.out.println(a.concat("'aaaa'"));//Hello'aaaa'
        System.out.println(a.charAt(2));//l
        System.out.println(a.indexOf("o"));//4
        System.out.println(d.substring(5));// asasakndskndk4ji2o3n435no4n532o532
        System.out.println(d.substring(5,10));// asas

//        cahr[] aa = d.toCharArray();
        String dd =  d.replace("hello","mc");
        System.out.println(dd);

        System.out.println("-----");
        String[] arr1 = d.split(",");
        System.out.println(arr1.length);
        System.out.println(arr1[1]);
    }
}

面向对象

面向对象
封装/继承/多态
继承

  1. 单继承
  2. 多级继承

public class Demo {
    public static void main(String[] args) {
        Zi zi = new Zi();
        zi.show();
        zi.method();
    }
}
继承
public class Zi  extends Fu{
    int num = 20;

    //重写方法
    @Override
    public void method() {
        super.method();//调用父类的
        System.out.println("子类方法");
    }

    public void show() {
        int num = 30;
        System.out.println(num);//30 当前
        System.out.println(this.num);//20 子类的
        System.out.println(super.num);//10  父类的
    }

}
Math

Math.abs(double num) 取绝对值
.ceil 向上取整
.floor 向下取整(抹零)
.round 四舍五入
PI 圆周率

public class MathTest {
    public static void main(String[] args) {


        double min =-10.8;
        double max =5.9;
        for (int i = (int) min ; i <  max; i++) {
            int abs = Math.abs(i);
            if (abs > 6 || abs < 2.1){
                System.out.println(i);
            }
        }


    }
}
抽象方法

抽象方法
abstract

抽象类和方法的使用

  1. 不能直接创建new抽象对象
  2. 必须用一个子类继承父类抽象父类
    3.子类覆盖重写父类当中的抽象方法 去掉abstract关键字
  3. 创建子类对象进行使用

final 最后赋值

public abstract class Chouxiang {

    //抽象方法
    public abstract void eat();


}

public > protected > default > private

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员子枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值