华清远见重庆中心--JAVA基础阶段技术总结

Java基础知识

概述

Java是1995年SUN公司发布,如今被Oracle收购。

下载安装Java时从Oracle官网下载,最好下载LTS长期维护版本。Java8、Java11、Java17是LTS版。

Java是一门半编译半解释的面向对象语言。

Java由于虚拟机JVM的存在,所以可以跨平台运行。

Java程序运行过程

public class Test{
    //主方法,是程序的入口,有且只有一个
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}

编辑的是.java文件,称为源文件。通过javac命令进行编译,生成同名的.class字节码文件,在虚拟机上解释该字节码文件运行。

数据类型

原始类型

整型 byte short int long

浮点型 float double

字符型 char

布尔型 boolean

引用类型

  • 数组
  • 接口

类型转换

自动类型转换

  • 小字节类型数据可以直接保存到大字节类型的变量中。

  • 整型数据可以直接保存到浮点型变量中。

short s=123;
int i=s;

long num=123;
float f=num;

强制类型转换

同类型下,如果大字节类型的数据强制保存到小字节类型的变量中,需要强制类型转换

int i=123;
byte b=(int) i;

变量

保存数据的内存区域,其中的数据可以变化。

定义变量

数据类型 变量名;

变量赋值

变量名=值;

=右边的值有默认的数据类型。

整数默认为int,小数默认double类型。

变量初始化

数据类型 变量名 = 值;

变量需要定义、赋值后才能使用。

int i;
System.out.println(i);

运算符

算术运算符

//+ - * / %
//+两端都是数值是当做相加,有一端是字符串时当做拼接
//两个整数相除/,结果只保留整数部分。10/3=3;

关系运算符

//> < >= <= == !=
//关系运算的结果都是布尔型  

逻辑运算符

//&& || !
//&&和||符号两端是两个表达式
//&&和||称为短路运算符,当第一个表达式能确定结果时,不再判断第二个表达式    

赋值、复合赋值运算符

//= += -= *= /= %=
//给整型变量赋值,=右边可以是整型或字符型
//给字符型变量赋值,=右边通常是一个单引号引起来的字符,也可以是一个整数或转义字符
//a*=b+c      相当于    a=a*(b+c)

自增、自减运算符

//++ --
//非单独成行,符号在前,先+1或-1,再使用
//非单独成行,符号在后,先使用,再+1或-1

条件运算符

//表达式1?表达式2:表达式3
//双分支语句,先执行表达式1,结果为true时执行表达式2,结果为false时执行表达式3

运算符的优先级

小括号>>单目运算符(!、++、--)>>算术>>关系>>逻辑>>条件>>赋值

int year=2000;
String res=(year%4==0&&year%100!=0)||year%400==0?"闰年":"平年";

一个表达式中,如果有不同的数据类型参与运算,最终的结果以表达式中字节最大的数据类型为准。

int a=12;
double b=3;
double res=a/b;

double res=10.0/4;
double res=10/4.0;
double res=(double)10/4;

条件语句

if语句

小括号中都是一个表达式,最终结果为布尔型

  • 单分支

    if(){
    
    }
  • 双分支

    if(){
    
    }else{
    
    }
  • 多分支

    if(){
    
    }else if(){
    
    }else if(){
    
    }else{
    
    }
  • 嵌套

    if(){
        if(){
    
        }
    }else{
        if(){
    
        }
    }

在方法的if语句中出现return,就不再执行后续的代码。

如果方法的返回值是void,return后无需添加值,如果不是void,return后必须添加值。

可以将if嵌套改造为if-return。

public static void main(String [] args){
    if(2>1){
        return;//提前结束main方法
    }
    System.out.println("程序结束");//这句话不会输出
}

public int chu(int a,int b){
    if(b==0){
        System.out.println("0不能作为除数");
        return 0;
    }
    return a/b;
}

switch语句

switch(非long整型、char、String、enum){
    case 可能的值:
        break;
    case 可能的值:
        break;
    case 可能的值:
        break;
    case 可能的值:
        break;
    default:
        break;
}

可以不写break,会继续执行后续case后的内容。

如果能例举出一件事情的分支,建议使用swtich语句。

如果一件事情的分支是范围时,只能使用if语句。

循环语句

while

while(循环条件){
    循环体
}

do-while

do{
    循环体
}while(循环条件);

for

for(定义循环变量;循环条件;更新循环变量){
    循环体
}

while和for循环如果条件一开始就不成立,一次都不执行。do-while循环会至少执行一次后再做判断。

循环条件都是布尔值。

当已知循环次数时,建议使用for循环;未知循环次数时,建议使用while循环;先执行一次后再判断时使用do-while循环。

循环控制

  • break终止整个循环
    • 如果循环中有swtich语句,switch中的break只能终止switch,不能终止循环。
  • continue停止本次循环,进行下次循环。(不再执行continue后续的代码)
  • break和continue通常配置if语句使用

循环嵌套

在循环中继续循环。外层循环执行一次,内层循环执行一轮。

循环嵌套不要嵌套太多层。

数组

一组类型相同的数据的有序集合。在内存中是一块连续的区域。

每个数据都称为元素,每个元素有自己的唯一索引,从0计数。

数组一旦定义后,其数据类型和大小不可改变,无法获取当前数组中的元素数量。

数组的定义

数据类型[] 数组名 = new 数据类型[数组大小];

数组的初始化

  • 数据类型[] 数组名 = new 数据类型[]{元素1,元素2...};
  • 数据类型[] 数组名 = {元素1,元素2...};

数组的取值和赋值

通过"数组名[下标]"访问。

String[] nameList={"admin","qwe","ez"};
//赋值
nameList[1]="小明";
//取值
String name=nameList[0];
System.out.println(name);

数组特点

  • 数组可以通过“数组名.length”获取其长度

  • 数组定义后,如果没有对其赋值,会有默认值

    • 整型默认0,浮点型默认0.0,字符默认空白字符,布尔型默认false,引用类型默认null
  • 通常使用增强for循环遍历数组

    String[] nameList={"admin","qwe","ez"};
    for(String name : nameList){
        System.out.println(name);
    }

个人总结 :

       由于我的基础太差,所以在学习的过程中会比较的吃力,学习的过程就是要不懂就问,问我的同学,他会耐心的给我指导,为了让我更容易理解,他会给我做很多的比喻。在学习Java的过程中,会遇到各种各样的难题,只要我自己认真的去学习,一定可以做的更好的。

加强for循环

for (int i:red) {//  1   2  3  4 5 9
            for (int j : x) {//  3  4  5 6 7 8
               if (i==j){
                   count++;
               }
            }

学习的时候没有太懂,然后昨天在完成作业时,遇到了一个题需要用到数组的遍历,刚开始不太理解,在同学的耐心讲解下,我成功的完成了作业,每一次作业都能进步,需要我自己去慢慢的沉淀。

我现在需要的是完成并理解自己所写的代码,而不是想着偷工减料,没一次的作业都应该去认真完成,遇到自己的不会的地方,通过查资料,问同学以及老师,不能明日复明日,明日何其多。

Random rd = new Random();
int com=rd.nextInt(3)+1;
//生成一个随机数

需要去记住每一个知识点,总结每一个知识点,学习是慢慢的积累,心急吃不了热豆腐,不能敷衍对待自己。 每个人都会有惰性,然后呢,在学小的时候就是一天摆烂等死,来到这里之后我感受到了很大的压力,身边的同学以及自己给自己的压力,所谓有压力才会有动力,自己要自律,坚持每天早起,昨天我同学跟我说了一些话,刚开始豆豆hi这样的,基础差就是要恶补,身边的同学基础都好,只有自己的太差劲了,所以自己才要更加的努力。才不会被他们越拉越远,才能慢慢的向他们靠齐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值