JAVA基础知识点

本文详细介绍了JAVA语言的基础知识,包括语言特点、核心机制如JVM和垃圾收集,环境搭建,变量分类,运算符,流程控制结构如if-else, switch-case, 循环结构,以及特殊流程控制语句break和continue的使用。此外,还涵盖了数组的基本概念和数据结构的简单介绍。" 114462256,10540371,Java线程生命周期与状态控制详解,"['Java', '线程', '状态', '控制']
摘要由CSDN通过智能技术生成

JAVA语言特点

  1. 面向对象

    **两个基本概念:**类,对象

    **三大特性:**封装,继承,多态

  2. 健壮性

    吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制

  3. 跨平台性

    跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , RunAnywhere”
    原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

JAVA的核心机制

Java虚拟机 (Java Virtal Machine)

  • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
  • 对于不同的平台,有不同的虚拟机。
  • 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行

垃圾收集机制 (Garbage Collection)

  • 不再使用的内存空间应回收—— 垃圾回收。
  • 在C/C++等语言中,由程序员负责回收无用内存。
  • Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
  • 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
  • Java程序还会出现内存泄漏和内存溢出问题吗?Yes!

Java语言的环境搭建

什么是JDK,JRE

image.png

JAVA声明

变量的分类

对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。

image.png

按声明的位置的不同

  • 在方法体外,类体内声明的变量称为成员变量
  • 在方法体内部声明的变量称为局部变量

image.png

  • 注意:二者在初始化值方面的异同:

    :都有生命周期

    :局部变量除形参外,需显式初始化。

JAVA运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符
  • 三元运算符

image.png

1.//(前)++ :先自增1,后运算
//(后)++ :先运算,后自增1
2.//(前)-- :先自减1,后运算
//(后)-- :先运算,后自减1
3.连接符:+:只能使用在String与其他数据类型变量之间使用。

赋值运算符

  • 符号:=
    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    • 支持连续赋值。
  • 扩展赋值运算符: +=, -=, *=, /=, %=

特别说明:

1.运算的结果不会改变变量本身的数据类型
2.开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
方式一:num = num + 2;
方式二:num += 2; (推荐)

开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
方式一:num = num + 1;
方式二:num += 1;
方式三:num++; (推荐)

image.png

  • 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
  • 比较运算符“==”不能误写成“=”

逻辑运算符:

&—逻辑与 | —逻辑或

!—逻辑非 && —短路与

|| —短路或 ^ —逻辑异或

逻辑运算符区别:

“&”和“&&”的区别

  • 单&时,左边无论真假,右边都进行运算;
  • 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

理解:异或,追求的是“异”!
案例1:
public class Test {
    public static void main(String[] args) {
        //会员卡号:四位会员卡号,取百位数,如果百位数和幸运卡号相同的话就是幸运会员.不是的话,就写谢谢惠顾
        Scanner input = new Scanner(System.in);
        System.out.println("请输入你的会员卡号");
        int num = input.nextInt();
        int a = num/100%10;
        int random =((int)Math.random()*10);
        System.out.println(random);
        String s=(a==random)?"恭喜你中奖":"谢谢惠顾";
        System.out.println(s);


    }
}

JAVA流程控制-顺序结构

其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:

  • 顺序结构
    • 程序从上到下逐行地执行,中间没有任何判断和跳转。
  • 分支结构
    • 根据条件,选择性地执行某段代码。
    • 有if…else和switch-case两种分支语句。
  • 循环结构
    • 根据循环条件,重复性的执行某段代码。
    • 有while、do…while、for三种循环语句。
    • 注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。

if-else选择结构

在Java程序中,如果要根据条件来决定是否执行某一段代码,就需要if语句。

public class AgeTest{
    public static void main(String args[]){
        int age = 75;
        if (age < 0) {
            System.out.println("不可能!");
        } else if (age > 250) {
            System.out.println("是个妖怪!");
        } else {
            System.out.println(“人家芳龄 " + age +" ,马马乎乎啦!");
        }
    }
}

switch-case结构

除了if语句外,还有一种条件判断,是根据某个表达式的结果,分别去执行不同的分支。
例如,在游戏中,让用户选择选项:

  1. 单人模式
  2. 多人模式
  3. 退出游戏

这时,switch语句就派上用场了。 switch语句根据switch (表达式)计算的结果,跳转到匹配的case结果,然后继续执行后续语句,直到遇到break结束执行。

    public class SwitchTest2 {
   
        public static void main(String args
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值