Java全程学习

2024/9/25

1.Java SE JavaEE JavaME

Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE 包含了支持Java Web 服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。

Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。

Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次, 就可以用于许多设备,而且可以利用每个设备的本机功能。
 

2.Java语言的特性

 4.1 简单性  (相比来说,java的底层代码是使用c++编写的,而java开发人员无需使用指针等复杂的方法 
 4.2 面向对象(类 接口 继承 多态)
 4.3 健壮性(主要是java具有成熟的垃圾回收机制)
 4.4 多线程(Java 语言支持多个线程同时并发执行,同时也提供了多线程环境下的安全机)
 4.5 跨平台/可移植(jvm虚拟机,java最主要的特点)

3.JDK JRE JVM

JDK:java开发工具包,JDK 安装之后,它会自带一个 JRE,因为软件开发人员编写完代码之后总是要运行的。

JRE:java运行环境,运行 JAVA 程序所必须的环境的集合,包含JVM 标准实现及Java 核心类库。

JVM:java虚拟机,根据不同的操作系统提供适配该操作系统的jvm,在jvm上运行java可以保证java的跨平台正常运行。

4.Java编译运行过程

首先,java代码是一个.java文件,在编译器或者使用javac编译后会生成jvm所能识别的字节码文件,即所谓的.class文件,.class文件会在jvm的帮助下解释成操作系统草所系统所能识别的语言并运行,从而被电脑执行。


5.标识符都可以标识什么

  类名   接口名   变量名   方法名   常量名

6.标识符命名规则

① 标识符只能由数字、字母、下划线“_”、美元符号“$”组成,不能含有其它符号。

② 标识符不能以数字开始。

③ java 关键字和保留字不能作为标识符。

④ 标识符严格区分大小写。

⑤ 标识符理论上没有长度限制

7.Java的关键字

分类关键字
访问控制publicprotectedprivate
类方法和变量修饰符classabstractextendsfinalimplementsinterfacenavite
newstaticstrictfpsynchronizedtransientvolatileenum
程序控制forifelsewhiledoreturnbreak
switchcasecontinutedefaultassertinstanceof
错误处理trycatchthrowthrowsfinally
包相关packageimport
基本类型byteshortintlongfloatdoublechar
boolean
引用类型thisvoidsuper
保留字gotoconst

8.Java三种注释

1单行注释 //

//创建一个单行注释

2多行注释 /**/

/*
注释1
注释2
.。。。。。
*/

3javadoc 注释 (文档注释)

/*
*@author SuRuixi
*@date 2024-9-25
*
*/

9.java的八大基本数据类型

整形byteshort intlong
浮点型floatdouble
字符型char
布尔型boolean

数据类型转换

    1 八种基本数据类型,除了boolean不能转换,剩下的七种之间都可以进行转换;
    2 如果整数数字字面量没有超出 byte short char 它们的取值范围,
    可以直接将其赋值给 byte  short char 类型的变量
    3小容量向大容量转换的时候自动类型转换
    byte<short(char)<int<long<float<double
    short  char 都占用2个字节,但是char类型可以表示更大的数字!!!
    4大容量转换为小容量,称为强制类型转换!!!【丢失精度!!谨慎使用最好不用】
    5 byte short  char三种类型混合运算的时候,先各自的转换为int类型再进行运算
    6多种类型进行运算各自先转换为容量最大的那一种再进行运算
 

基本类型之间的转换-CSDN博客

2024/9/26

1.包和导包


  自定义常用的包
      entity pojo domain bean 这几个称呼都是表示实体类的意思【和数据库中的表一一对应的】
      dao 数据库连接
      service biz  业务逻辑部分
      test 测试 
      controller 控制器

  java中常用的包:
      java.io 文件流
      java.sql 数据库相关的
      java.util 工具包
      java.lang 默认无需导包 

      定义包用  package
      导入包   import 
 

2.debug调试

程序调试
断点:程序运行时暂停的代码行!
1.设置断点
2.启动调试
3.单步运行
4.观察变量
5.逐步执行
6.发现问题
7.修正代码
8.取消断点,重新运行

3.Scanner键盘输入读取

java的键盘读取录入需要先导入Scanner类库

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //Scnner声明一个输入读取
        Scanner input = new Scanner(System.in);
        //使用Scnner中的next()方法读取键盘输入,并将值赋予number
        int number = input.nextInt();
        //使用Scnner中的next()方法读取键盘输入,并将值赋予str
        String str = input.nextLine();
    }
}

4.四则运算

加减乘除

/*3、计算器计算
            功能描述:编写一个计算器,计算两个数20和98.34的和、差、积、商,并输出计算结果。*/

        Scanner sc = new Scanner(System.in);
        //定义输入的第一个数
        double a = sc.nextDouble();
        //定义输入的第二个数
        double b = sc.nextDouble();
        //输出两个数的和差积商
        System.out.println("两个数的和是:"+(a+b));
        System.out.println("两个数的差是:"+(a-b));
        System.out.println("两个数的积是:"+(a*b));
        System.out.println("两个数的商是:"+(a/b));

特别的,对于整形来说,/属于取整运算符,%属于取余运算符:
 

public class yunsuan {
    public static void main(String[] args) {
        int a = 100;
        int b = 3;
        System.out.println(a/b);
        System.out.println(a%b);
    }
}

2024/9/27

1.运算符

1.1算术运算符

+-*/%++--

        ++   --

        num++  先执行后运算,  num--  先执行后运算

        ++num  先运算后执行,  --num  先运算后执行

1.2关系运算符

<<=>>===!=

1.3逻辑运算符

&&必须同时满足条件一和条件二
||条件一与条件二只需满足一个
!取反

1.4赋值运算符

=+=-+/=*=%=

1.5条件运算符 

if
switch

1.6字符串拼接运算符

+

2.控制语句


  目标:
   选择语句
   循环语句
   转向语句
   返回语句【在学习完类和对象之后讲解!!】

  2.1 选择语句

    2.1.1 if 
     if(条件表达式){  // 条件表达式--> 不管多或者少 不管长或者短 其结果必须为true 才能执行语句
      语句1;
      语句2;
      .....
      
      }



     if(条件表达式){
          语句1;
     }else{
        语句2;  // 当条件表达式不成立的时候执行这里
     }



     if(条件表达式1){
         语句1;
     }else if(条件表达式2){
         语句2;
     }else if(条件表达式3){
        语句3;
     
     }..........




     if(条件表达式1){
         语句1;
     }else if(条件表达式2){
         语句2;
     }else if(条件表达式3){
        语句3;
     
     }else if(条件表达式4){
        语句4;
     }else{
        当上面的四个条件都不成立,执行这里!
     }
2.1.2switch
switch (int/String) {
            case int/String:
                语句1;
                break;
            case int/String:
                语句2;
                break;
            default:
                //当之前的语句都不执行时,执行此语句;
                break;
        }

2024/9/28

1.循环语句

1.1、while循环

while(循环条件){

        循环语句;

}

        //设置计数器
        int count = 1;
        //编写循环
        while (count <= 10) {
            System.out.println("第"+count+"遍说:我一定能学会Java!");
            //计数器计数
            count++;
        }

1.2、for循环

for(初始化表达式;布尔表达式;更新表达式){

        循环语句;

}

        //for循环
        for (int count = 1; count <= 10; count++) {
            System.out.println("第"+count+"遍说:我一定能学会Java!");
        }

1.3、do--while循环

do{

        循环语句;

}while(循环条件)

特别的:

do--while 循环无论条件如何,都会先执行一次。

        //设置计数器
        int count = 1;
        //编写循环
        do {
            System.out.println("第"+count+"遍说:我一定能学会Java!");
            //计数器计数
            count++;
        } while (count <= 10);

2.转向语句

2.1 break

终止语句,用于终止当前循环

    //次循环会在执行80次时终止
    for(int i = 1; i <= 100;i++){
            if (i == 80){
                break;
            }
        }

2.2 continue

继续语句,跳过本次循环,继续执行下一次循环

    //次循环会在偶数时跳过输出
    for(int i = 1; i <= 100;i++){
            if (i % 2 == 0){
                continue;
            }
            System.out.println(i);
        }

3.返回语句

1.return

返回语句,终止所有循环,直接返回

    //在i = 4时,直接返回
    for (int i = 0; i < 10; i++) {
        if(i == 4){
            return;
        }
        System.out.println(i);
    }

4.Goto保留字

goto

Java保留字

2024/9/30

1.数组

1.1数组的三种定义方法:

//前面的int[]为数组的类型,后面的int[10]为其能够存放的大小,array1为其数组名称

//数据类型  [ ] 数组名 = new 数据类型 [空间大小];
int[] array1 = new int[10];

int[] array2 = {1,2,3,4,5};

int[] array3 = new int[]{1,2,3,4,5};

1.2初始化数组

1.2.1动态初始化

数组初始化时一定是符合先定义,后赋值。

在定义数组时仅仅定义数组的元素类型和空间大小,而不给数组赋值。

int [] array = new int [10];

//或者
int [] array ;
array  = new int []{ 10 , 20 , 30 };
1.2.2静态初始化

在创建数组时不定义数据元素个数,而直接将数组里的数据内容进行赋值,编译器会自己判定数组有几个元素, 后面的数据必须与前面定义的数据类型一致。

int[] array1 = {0,1,2,3,4,5,6,7,8,9};  

1.3访问数组

通过数组的下标进行访问,数组在内存中是一块连续的内存空间。

数组的下标是从 开始的,所以数组用下标访问最大能到 数组长度-1 

数组越界访问(非法访问)时会出错。

Java数组非法访问报错问题-CSDN博客

    public class Test {
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5};
            System.out.println(array[3]);
        }

1.4 三种方法遍历数组

1.4.1 for循环打印数组
public class Test {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
    }
}
1.4.2 foreach打印数组
public class Test {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        for (int x:array) {
            System.out.print(x+" ");
        }
    }
}
1.4.3 toString打印数组
import java.util.Arrays;
 
public class Test {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));//使用toString方法需要导包
    }
}

1.5 数组的常用方法

    //以此为例
    int [] arry = {1,2,3,4,5};
arry.length()获取数组长度
arry.clone()返回数组的副本
arry.equals(arry2)比较两个数组的地址
Arrays.sort(arry)数组元素排序
Arrays.toString(arry)将数组元素转变为字符串
Arrays.copyOf(arry) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。
Arrays.copyOfRange(arry,1,3) 将指定数组的指定范围复制到新数组中 [1,3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值