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

Java

Java是一门跨平台、“半解释半编译”的面向对象语言

Java的优点

  1. 简单、安全、开源
  2. 面向对象、跨平台
  3. 多线程、半解释半编译

数据类型

数据类型:整型、浮点型、字符型、布尔、类、接口、数组

整型byte、short、int、long
浮点型float、double
字符型char
布尔boolean
引用类型类、接口、数组

 

  1. 其中byte、short、int、long、float、double是最基本的八大数据类型
  2. 在程序出的整数,默认是int类型;写出的小数,默认是double类型;
byte1字节
short2字节
int4字节
long8字节
float4字节
double8字节
char2字节
boolean

计算机中最小的存储单元叫字节(byte);存储设备的最小信息单元叫位(bit);

1B=8b;1KB=1024B;1MB=1024KB;1GB=1024MB;1TB=1024GB

常量

常量:在程序运行过程中,其值不可以发生改变的量

注意

  1. 字符常量        用单引号括起来的内容        如'a'
  2. 字符串常量     用双引号括起来的内容       如"Hello"
  3. 空常量是唯一不能直接输出的

变量

在内存中的一块区域 。由于这块区域中的数据可以发生变化,所以称为变量。
内存中的变量,相当于酒店中的房间。房间的类型就是变量的类型,房间的房号就是变量的名称,房间 中住的人就是变量的值。
定义变量,就是在内存中申请一块相应数据类型的空间,并对其命名的过程。
语法:数据类型         变量名;

注意

  1. 名字不能重复(但是也要看变量的作用域)
  2. 变量未赋值,不能使用
  3. long类型的变量定义时后面加L或者l
  4. float类型的变量定义时后面加f或者F

标识符命名

方法和变量命名:如果是一个单词,首字母小写;如果是多个单词,第一个单词首字母小写,其他单词首字母大写   例:name,firstName

类命名:如果是一个单词,首字母大写;如果是多个单词,每个单词首字母大写    例:Student,GoodStudent

类型转换

类型大小:byte,short,char ->int ->long ->float ->double

强制类型转换:把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。

格式:目标数据类型        变量名=(目标数据类型)值或者变量;

例:int  i =(int) 98.08;

关系运算符

  1. == 用于判断相等, = 用于赋值
  2. 关系运算的结果为 true/false
  3. == 用于比较两个原始类型的值 或引用类型的内存地址

逻辑运算符

符号作用说明
&&and、与
符号两端需要两个表达式,判断如果都为 true ,整体结果则为 true ,如果有一端结果为false ,整体结果为 false
||or、或
符号两端需要两个表达式,判断如果都为 false ,整体结果则为 false ,如果有一端结果为true ,整体结果为 true
not、非
是一个单目运算符,只有一个表达式参与运算。 "! 表达式 " 表示对原表达式的结果取相反值。

        

条件运算符

三目运算符,有三个操作数参与。是一个简化版的双分支条件语句。

格式:        关系表达式?表达式1:表达式2;

首先运算关系表达式 ,如果结果为 true ,执行问号后的表达式1 ;如果结果为false ,执行冒号后的表达式2。 整个表达式的最终结果为表达式1 或表达2

运算符的优先级

小括号>>单目运算符>>算术运算符>>关系运算符>>逻辑运算符>>条件运算符>>赋值/复合赋值运算符

条件语句

if语句

单分支if语句

格式:if(判断条件){        //判断条件的结果为布尔值

                条件满足时执行的代码

          }

双分支if语句

格式:if(判断条件){        //判断条件的结果为布尔值

                条件满足时执行的代码

           }else{

                条件不满足时执行的代码

          }

双分支if语句

格式:if(判断条件){        //判断条件的结果为布尔值

                条件满足时执行的代码

          }else         if(判断条件){

                条件满足时执行的代码

          }else{

                条件不满足时执行的代码

          }

switch语句

switch(表达式){ //取值为byte、short、int、char、String、枚举
    case 值:
        break;
    case 值:
        break;
    case 值:
        break;
    ...
    default:
        break;
}

执行流程:1.首先计算表达式的值,2.依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。3.如果所以的case后面的值和表达式的值都不满足,就会执行default里面的代码,然后switch结束。其中break和default可以根据具体情况省略。

if语句与switch语句的选择

  1. 如果条件能够一一例举出来时,使用switch语句更为简洁
  2. 如果条件是一个范围时,只能使用if语句,如大于100
  3. switch语句可以改写为if语句,if语句不一定能改为switch语句

循环语句

while语句

while(循环条件){//小括号中的条件结果为boolean

        满足循环条件时重复执行的代码

}

do-while语句

do{

        满足循环条件时重复执行的代码

} while ( 循环条件 );

while与do-while的区别

while循环可能一次都不执行,do-while循环至少会执行一次

for语句

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

执行流程:首先执行表达式1,再执行表达式2,如果表达式2的结果为true,执行循环体,再执行表达式3,再执行表达式2判断,如果表达式2的结果为false,结束循环

循环总结

  1. 如果已知循环次数,推荐使用for循环。如遍历数组、集合等。
  2. 如果未知循环次数,推荐使用while循环。
  3. while循环和for循环可以相互转换
  4. do-while循环至少执行一次,for循环和while循环有可能一次都不执行

死循环格式

  1. for( ;  ;  ){}
  2. while(true){}
  3. do{}while(true){}
  4. 命令提示符窗口中ctrl+c可以结束死循环

循环控制

break用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前整个循环
return是结束方法,不再执行return之后的代码
continue用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行

数组(一维)

一组类型相同的数据的有序集合。实际上是内存中一块连续的空间,是保存数据的区间。

语法

定义数组: int []  数组名;

初始化

int []  数组名=new  int[数组大小];

例:int[] array=new int[3];或者int[] array=new int[]{1,2,3,4,5};

或者int [] array={1,23,3,2};

注意:

  1. 数组一旦初始化后,数组大小不能改变,其中的元素类型要统一
  2. 数组的索引范围是[0,数组大小-1],使用时不能超出范围。在编译时无法识别是否超出数组索引,
  3. 但运行时会抛出"数组索引溢出"异常
  4. 数组一旦初始化后,如果没有赋值,默认有初始值

IDEA的快捷键

  1. psvm:快速生成main方法
  2. sout:快速生成输出语句
  3. ctrl+/:单行注释
  4. ctrl+shift+/:多行注释
  5. ctrl+alt+l:格式化
  6. 条件.if:快速生成if语句

转义字符

 数据输入

import java.util.scanner;
Scanner sc = new Scanner(System.in);
int 变量名=sc.nextInt();

Random的作用和使用步骤

import java.util.Random;
Random rd=new Random();
int number=rd.nextInt(10);//10表示获取的数据范围[0,10)

增强for循环

作用:用于遍历数组或者集合元素的一种循环

格式:for(数据类型   变量名  :数组名){}

int[] array={1,2,3}
for(int i:array){
    System.out.println(i);
}

System.exit(0);//停止当前程序

Arrays.sort(数组名);//对数组进行升序排序

总结:以上是这一周学习的Java基础,选择了其中有很多易忘记、易错的知识进行记录。供自己未来回想和参考。望自己继续努力。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值