java基础

发布于:2024-08-15 ⋅ 阅读:(48) ⋅ 点赞:(0)

目录

一.电脑基本设置

二.JDK的安装

三.第一个java程序

四.java简介

五.常用的DOS命令

六.IDEA编写程序

七.IDEA常用的快捷键

八.字面量

九.变量

十.关键字

十一.标识符

十二.算数运算符

十三.赋值运算符

十四.流程控制语句

Debug基本使用

if语句

键盘对象 Scanner

三元运算符

短路原则

switch语句

for循环

自增自减

案例for循环求1-100的和

while循环语句

do while循环语句

三种循环的区别

continue和break的区别

Random随机数对象

案例 猜数字小游戏

十五.方法

形参和实参

带返回值方法的定义与调用

方法的注意事项

方法重载

十六.面向对象(基础)                                                                                                                 面面向对象是 一种编程思想   (万物皆对象)   

类和对象

java内存分配

成员变量和局部变量区别

private关键字

this关键字

封装

构造方法


一.电脑基本设置

  1.快捷键

  win+I打开设置

  win+E打开资源管理器

  win+R打开运行窗口

2.关闭windows Defender防火墙

 win+E打开资源管理器

 网络-右键属性

windows Denfender防火墙

启用或关闭windows Denfender防火墙

专用和公共网络设置-关闭

3.显示文件扩展名

 win+E打开资源管理器

查看

勾选文件扩展名

二.JDK的安装

java开发工具包

5344ffc67656480899a20308e5a3d0c5.png

三.第一个java程序
public class HelloWorld{
	public static void main(String[] args){
		System.out.println("HelloWorld");
                  }
}

6ed655f363564b66ab9393a18211fff8.png

ca4443f356b84253be062eb5bd48740d.png


1.编码:书写正确的代码

2.编译:使用javac工具进行编译

3.运行:使用java工具进行运行->查看结果


四.java简介

java之父:詹姆斯.高斯林

java三大技术平台:

java SE:java语言的标准版,用于桌面应用的开发,是其它两个版本的基础。

Java ME:Java语言的小型版,用于嵌入式电子设备。

Java EE:Java语言企业版,用于企业开发,包括web方向开发。(网站=网页+后台服务器)

五.常用的DOS命令

5e5e7665b9a74b5baece5ef67b56d955.png

3dca5b5529fe4ca4bc9eae20fcf0357f.png

1d28e396075f47feb58e5fa938541751.png

6a270ec843e94e76b11ff8ace8142aab.png

六.IDEA编写程序

311ea4d919e246c99dcf1ee78f4fecdb.png

57f959f6021a411fbad023ac26bc2c8d.png

b6c530f199154903ae68e442d6481350.png

752f5d59aab14df9a96ae766d555c64d.png

package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main//
        System.out.println("HelloWorld");   //sout//
        System.out.println("大家好");
    }
}

620e6795efd44ae0b1cc3a3d2e10230a.png改变大小:ctrl和鼠标

注释:

ace87ead76374461ab6fafc618138eb1.png

/*
注释

。
。。
。。。
。。。。
 */
//注释
七.IDEA常用的快捷键

9345c59bf2c04d61b38434a4af1f1f2a.png

八.字面量
字面量类型 说明
字符串字面量 ''YZ"
整数字面量 666
小数字面量 7.65
字符字面量 'A'
布尔字面量 true,false

package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        System.out.println(100);   //sout
        System.out.println("HelloWorld");
        System.out.println('A');
        System.out.println(3.0);
        System.out.println(true);
        System.out.println(false);
    }
}
九.变量

定义变量格式:数据类型 变量名 = 变量值;

int age=18;

计算机存储的最小单位:字节(byte)

ca72399fd09b4764bf68257208b86eba.png

package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        String name="赵卷卷";
        int age=18;
        char gender='女';
        double height=178.4;
        boolean isMarry=true;
        System.out.println(name);   //sout
        System.out.println(age);
        System.out.println(height);
        System.out.println(gender);
        System.out.println(isMarry);
        System.out.println(10==10);
    }
}

变量的注意事项:

变量名不能重复

变量未赋值,不能使用

定义long类型变量,数据后面加L;

定义float类型变量,变量后加F;


十.关键字

关键字的字母都小写(50 个)

07f49e6d5e5943bfaf2ac8fa002afb63.png

十一.标识符

由数字,字母,下划线和美元符组成

不能以数字开头

不能是关键字

区分大小写

案例数值拆分

package haha.enen;

public class Ge {
    public static void main(String[] args) {
        int num = 459;
        num =789;

        int ge = num%10;
        int shi = num/10%10;
        int bai = num/100%10;

        System.out.println("个位:"+ ge);
        System.out.println("十位:"+shi);
        System.out.println("百位:"+bai);

    }
}
十二.算数运算符

数字相加:隐式转换

把一个表示数据范围小的数值或者变量赋值给另一个数值范围大的变量。

package haha.enen;

public class Ge {
    public static void main(String[] args) {
       int a =10;
       double b =12.7;

        System.out.println(a+b);
   

    }
}

强制转换(有可能造成数据的缺失,不允许)

把一个数值范围大的数值或者变量赋值给另一个范围小的变量。

package haha.enen;

public class Ge {
    public static void main(String[] args) {
       int a =10;
       double b =12.7;
       int c=(int)(a+b);
        System.out.println(c);


    }
}
package haha.enen;

public class Ge {
    public static void main(String[] args) {
       int a =10;
       double b =12.7;
       int c=(int)(a+b);
        System.out.println(c);
        System.out.println('c'+1);
        System.out.println("5+5="+(5+5));
        System.out.println("5+5="+5+5);
        
    }
}

e9f53550dd424bf1991c8df007f1d655.png

十三.赋值运算符
package haha.enen;

public class Ge {
    public static void main(String[] args) {
        short s=1;
        s = (short) (s+1);//有int参与运算了,整体结果提升为int,将int类型赋值给short类型变量,由大到小
       
        short ss=1;
        ss+=1;
    }
}

扩展的运算符蕴含了强制转换。

十四.流程控制语句
Debug基本使用

断点调试

24f1bdf29c8445ad95594998f0248376.png

if语句
package haha.enen;

public class Ge {
    public static void main(String[] args) {
   int age = 18;
   if(age>=18){
       System.out.println("你能去上网");
   }else {
       System.out.println("你不能上网");
    }
}}

如果if语句里边只有一条可以省略大括号,但不建议。


键盘对象 Scanner

1.导包 import java.util.Scanner;

2.创建对象

3.调用方法,接收数据  int num = sc.nextInt();

案例 两个数相加

package haha.enen;

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入第一个数字");
        int a=sc.nextInt();
        System.out.println("请输入第二个数字");
        int b=sc.nextInt();
        System.out.println(a + "+" + b + "=" + (a+b));
    }
}
三元运算符
public class HelloWorld {
    public static void main(String[] args) {//psvm main
       int a= 10;
       int b=34;
       int max=a>b?a:b;
        System.out.println("较大的值为"+max);
    }
}
短路原则

 185fa511431f4851bc9fbb92dccc2b0b.png

switch语句
public class HelloWorld {
    public static void main(String[] args) {//psvm main
      int month = 12;
      switch (month){
          case 12:
          case 1:
          case 2:
              System.out.println("冬季");
              break;
          case 3:
          case 4:
          case 5:
              System.out.println("春季");
              break;
          case 6:
          case 7:
          case 8:
              System.out.println("夏季");
              break;
          case 9:
          case 10:
          case 11:
              System.out.println("秋季");
              break;
          default:
              System.out.println("你输入的错误");
              break;
      }
    }
}
for循环
package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
    for (int i=1;i<=5;i+=1){
        System.out.println("你好");
    }
        }
}
自增自减

如果符号在前,让变量先加或减1

public class HelloWorld {
    public static void main(String[] args) {//psvm main
   int a=10;
   int b=a++;
   System.out.println(b);
        }
}

10

public class HelloWorld {
    public static void main(String[] args) {//psvm main
   int a=10;
   int b=++a;
   System.out.println(b);
        }
}

11



案例for循环求1-100的和
package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        System.out.println("sum:" + sum);
    }
}
while循环语句
public class HelloWorld {
    public static void main(String[] args) {//psvm main
    int i=0;
    int sum=0;
    while(i<=99){
        i++;
        sum+=i;
    }
        System.out.println(sum);
}}
do while循环语句
public class HelloWorld {
    public static void main(String[] args) {//psvm main
   int i=1;
   int sum=0;
   do{sum+=i;
       i++;}while (i<=100);
        System.out.println(sum);
}}
三种循环的区别

for循环和while循环先判断条件是否成立,在for循环结束后,就不用继续使用了

do...while循环先执行一次循环体,在while循环结束后,还可以继续使用


continue和break的区别

continue;用在循环中,用于条件控制,跳过某次循环体内容的执行,继续下一次循环。

break:用在循环中,结束当前的整个循环。


Random随机数对象

1.导包 import java.util.Random

2.创建对象  Random r = new Random();

3.生成随机数 int num= r.nextInt(100); //0-99


案例 猜数字小游戏
package haha.enen;

import java.util.Random;
import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
       int num = new Random().nextInt(100)+1;
        Scanner sc =new Scanner(System.in);
      for(;;){ System.out.println("请输入你猜的数字");
        int guessNum =sc.nextInt();
        if(guessNum<1||guessNum>100){
            System.out.println("你输入的字超过范围");
        }else if(guessNum>num){
            System.out.println("猜大了");
        }else if (guessNum<num){
            System.out.println("猜小了");
        }else if (guessNum==num){
            System.out.println("猜对了");
            break;
        }
}}}
十五.方法

方法就是完成特定功能的代码块

方法的好处:提供代码的复用性

需要先定义后调用

package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        //调用方法
        eat();
    }
//定义方法
    public static void eat() {
        System.out.println("我想要吃饭");
    }
}

如果没有调用,方法不会执行。

形参和实参

实参:方法调用中的参数

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        //调用方法
        getMax(4,66);
    }
//定义方法
    public static void getMax(int a,int b) {
        System.out.println(a>b?a:b);
    }
}
带返回值方法的定义与调用
package haha.enen;

public class HelloWorld {
    public static void main(String[] args) {//psvm main
        //调用方法
        boolean flag =isEvenNumber(10);
        System.out.println(flag);
        if(flag){
            System.out.println("这是偶数");
        }
    }
//定义方法
    public  static boolean isEvenNumber(int number){
        if(number%2==0){
            return true;
        }else {
            return false;
        }
    }
}

 格式: public  static 数据类型 方法名(参数){

        return 数据;

}

方法的注意事项

方法不能嵌套定义

void 表示无返回值,可以省略return,但也可以写return,后面不能加数据。

方法重载

方法重载是指在一个类中定义多个同名方法,但是它们的参数列表不同。在调用这个方法时,根据传递的参数调用与之匹配的方法。方法重载可以根据不同的参数类型和数量,提供不同的实现逻辑,以便更灵活地满足不同的需求。方法重载可以使代码更简洁、可读性更好,同时也提高了代码的复用性。

  1. 方法名称相同:重载方法的名称必须相同

  2. 参数列表不同:重载方法的参数列表必须不同,可以是参数类型不同、参数个数不同或者参数顺序不同。

  3. 返回类型可以相同也可以不同:重载方法的返回类型可以相同也可以不同,只要参数列表不同即可。

方法重载与方法的返回类型和修饰符无关:重载方法与其返回类型和修饰符无关,只要参数列表不同即可。


public class Ge {
    public static void main(String[] args) {
        int result=getSum(1,7);
        System.out.println(result);
        int order=getSum(7,8,9);
        System.out.println(order);
        double c=getSum(3.7,8.9);
        System.out.println(c);
    }
   public  static int getSum(int a,int b){
        return a+b;
    }
    public  static double getSum(double a,double b){
        return a+b;
    }
    public  static int getSum(int a,int b,int c){
        return a+b+c;
    }
}

让调用者不用记忆太多的方法名。


十六.面向对象(基础)                                                                                                                 面面向对象是 一种编程思想   (万物皆对象)   
类和对象

类是一类具有共同“属性”和“行为”事物的描述

对象:根据类创建出来的实体

//打印对象名,展示地址值

不同对象,在内存中存储的位置不同

成员变量由默认初始化值

java内存分配

在Java中,内存分配主要分为堆内存和栈内存。

栈:所有局部变量都会在栈内存中创建。

方法执行都会加载到栈中进行。

局部变量特点:随着方法的调用而存在,随着方法的调用完毕而消失。

堆:所有对象及其对应的实例变量和数组都储存在此处

new出来的东西,都存储在堆内存中。

每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时回收。

java有一套完整的垃圾回收机制。

成员变量和局部变量区别

private关键字

this关键字

this限定的变量用于指代成员变量

方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量。

this:方法被哪个对象调用,this就代表哪个对象

this:代表本类对象,调用本类的成员

封装

构造方法

构造方法格式:

public 方法名(){

}

构造方法作用;创建对象

快捷键

package lei;

public class Movie {
    //成员变量,必须私有
    private String name;
    private String type;
    private String director;
    //构造方法,提供两种(alt+insert,Constructor,1.选择空参2.全选)(右键gen)
    public Movie() {
    }

    public Movie(String name, String type, String director) {
        this.name = name;
        this.type = type;
        this.director = director;
    }
    //成员方法:get和set方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }
}
package lei;

public class MovieTest {
    public static void main(String[] args) {
        //空参构造+set
        Movie m1 = new Movie();
        //赋值
        m1.setName("战狼");
        m1.setType("战争");
        m1.setDirector("吴京");
        //取值
        System.out.println(m1.getName()+","+m1.getType()+","+m1.getDirector());
        //代参构造直接赋值
        Movie m2 = new Movie("阿凡达","科幻片","詹姆斯卡梅隆");
        System.out.println(m2.getName()+","+m2.getType()+","+m2.getDirector());
        
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到