华清远见重庆分公司-Java基础阶段-个人总结

java是一门跨平台半解释半编译面向对象的语言

1、Java的突出特点

  • 简单
  • 开源
  • 多线程
  • 安全
  • 面向对象
  • 半解释半编译

2、跨平台的原理

所谓跨平台:一处编译,处处运行

核心原理:JVM,全称Java Virtual Machine,也就是Java虚拟机,用于解释Java的字节码文件(.class文件)

补充:

开发人员在编辑完Java代码后,保存为.java的源文件

源文件在经过编译后,会生成.class的字节码文件

最后由JVM解释字节码文件

3、JDK、 JRE 、JVM的关系

  • JDK全称Java开发工具包,其中包含了JRE、Java调试、编译等工具;
  • JRE全称Java运行环境,其中包含JVM和java运行工具等;
  • JVM全称Java虚拟机,跨平台的核心

图示

 4、Java标识符

  • 类名用帕斯卡命名法(单词首字母大写,例如StudentName)
  • 方法名和变量名用驼峰命名法(第一个单词首字母不大写,其他单词首字母大写,例如studentName)
  • 最重要的是要见名知义

命名规则:

由数字、字母、下划线组成,但是多了一个$,其中数字不可以开头,当然也不可以使用Java中的关键字(例如for、 break、case等),Java中区分大小写,也就是a和A不一样

Java的数据类型

  • 原始类型

各类型字节大小,以及范围

**程序中默认整数是int类型,而小数是double类型,所以写long类型要在赋值后面加入l或L,同样的float类型,赋值后面加入f或F

  • 引用类型

接口

数组

以上三个内容后期详细更新

5、运算符

算术运算符

 特别注意+的应用

关系运算符

 注意“=”是赋值符号“==”是判断相等

逻辑运算符

 符合赋值运算符

 条件运算符

表达式一?表达式二:表达式三

表达式一为true运行表达式二,表达式二位false,运行表达式三

//四年一闰,百年不闰,四百年再闰
//year是“4的倍数但不是100的倍数,或者是400的倍数”
int year = 2022;
String res = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? "是闰年" :
"不是闰年";
System.out.println(year + res);

6、条件语句

if语句(条件是范围)

1、单分支

if(判断条件,其结果为布尔值){

        条件满足运行的代码

}

2、双分支

if(判断条件,其结果为布尔值){

        条件满足运行的代码

}else{

        条件不满足运行的代码

}

3、多分支

if(判断条件,其结果为布尔值){

        条件满足运行的代码

}else if(条件2){

        条件2满足运行的代码

}else if(条件3){

        条件3满足运行的代码

}else{

        条件都不满足运行的代码

}

4、if嵌套

if(){

        if(){      

        }

}

switch语句(一个变量的值能够一一列举)

switch(变量){//要判断的变量,只能是非long整型、字符型char和字符串String和枚举类型
case 值:
//如果变量的值与当前case的值匹配,执行这里的代码
break;//如果没有break,下面的代码也会一直运行
case 值:
//如果变量的值与当前case的值匹配,执行这里的代码
break;
...
default:
//如果没有任何值与变量的值匹配,执行这里的代码
break;
}

例子(判断某年某月有多少天,下面代码比较冗余,先判断月会更简洁)

import java.util.Scanner;

public class task03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = sc.nextInt();
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        if(year%4==0 && year%100!=00 || year%400==0){
            switch (month){
                case 2:
                    System.out.println("有29天");
                    break;
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    System.out.println("月有31天");
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    System.out.println("月有30天");
                    break;


            }
        }
        else{
            switch (month){
                case 2:
                    System.out.println("有28天");
                    break;
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    System.out.println("月有31天");
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    System.out.println("月有30天");
                    break;


            }
        }

    }
}

if语句和switch语句的补充

switch语句可以改写为if语句,但是if语句不一定能改写为switch语句

return可以让if语句和switch语句停止执行后面的代码,但是switch语句一般使用break

7、循环

重复执行某些代码

while(可能一次都不执行)

while(循环条件){//小括号中的条件结果为boolean值
满足循环条件时重复执行的代码
}

do while(至少执行一次)

do{
满足循环条件时重复执行的代码
}while(循环条件);

用于用户登录验证有奇效

for(可能一次都不执行)

//表达式1为定义循环变量
//表达式2为判断循环条件
//表达式3为更新循环变量
for(表达式1;表达式2;表达式3){
循环体
}

循环控制

所有的循环都可以使用breakreturn停止循环

public static void main(String[] args) {
int i = 1;
while (true) {//死循环
System.out.println("xxxxx");
if (i++ == 10) {
break;//退出整个循环,程序继续执行循环之外的内容
// return;//退出整个方法,程序不再执行之后的代码
}
}
System.out.println("结束");//如果循环中有return,不会执行这句话
}
使用 continue ,可以停止本次循环,不再执行 continue 之后的代码,直接进行下一次循
int i = 1;
while (i < 10) {
if (i++ % 2 == 0) {
continue;//如果遇到continue,结束本次循环(不再执行continue之后的代码),直接进入下一
次循环
}
System.out.println(i);
}

8、数组(一组类型相同的有序集合)

数组实际上是内存中的一块连续空间

定义、以及初始化数组

数据类型 [] 数组名=new 数据类型[大小];
数组一旦初始化,数组大小不能改变,且如果没有赋值,也会有默认初始值

 

索引范围是0到数组大小-1
动态赋值
int[] list = new int[10];
list[0]=123;//索引从0开始
list[9]=22;//最大索引为数组大小-1
list[22]=5;//能通过编译,但是在运行时会抛出数组越界异常

静态赋值

 

9、数组工具类Arrays

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值