基础复习!!!!

## java语言的特点
Java语言特点
简单性                  高性能
编译性                  解释性
面向对象              分布式处理           
健壮性                  安全性

## java运行与工作原理
1、 编译:通过javac命令将java的源文件也就是.java文件编译成.class文件。
2、 执行:先启动java虚拟机,不同的操作系统有不同的jvm,因此java跨平台。
               再通过JVM加载HelloWorld.class字节码文件。并加载main方法执行程序。
 ## java的关键字:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527222933706.png)
## java的数据类型
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527223141351.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)

##  引用类型
引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。如:类,接口,数组
 基本类型的字面值(5条)
整数字面值是int类型
int a = 999999999;//错,右侧是int类型,但是超出范围
2.3.2     byte,short,char三种比int小的整数可以用范围内的值直接赋值
byte b=127;//对
byte b=128;//错,右面已经超过byte范围是int类型的数据
2.3.3     浮点数的字面值是double类型
double  a=3.14;//对
float a=3.14;//错,右面是double,float是四字节double是八字节存不下
2.3.4     字面值后缀l f d
L –long   如:long a = 99999999999;//错,超出范围,解决方案加L
F –float   如:float a = 3.14;//错,右面是double类型,解决方案加F
D –double  如:double a=3;//错,右面是int,解决方案加D或者改成3.0
2.3.5     进制前缀
0x   - 16进制
0    -8进制
\u   -char类型,16进制
2.4  基本类型的类型转换
2.4.1     小到大(隐式转换)
Byte a =120;
Int b=a;//直接转
 ## 转换顺序![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527223455326.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)
 大到小(显式转换)
需要强制类型转换
int xx = 356;
byte y=(byte) xx;
小数转成整数,小数直接舍弃
## java的运算符
&和&&的区别
当一个&表达式在求值的时候,两个操作数都会被求值,&&更像 是一个操作符的快捷方式。当一个&&表达式求值的时候,先计算第一个操作数,如果它返回true才会计算第二个操作数。如果第一个操作数 取值为fale,第二个操作数就不会被求值
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527223717789.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)
## for循环结构
1 :概述
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。
它由循环体中的条件,判断继续执行某个功能还是退出循环。
根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527224003704.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)
   for (int i = 1; i < 9; i++) {//外循环,控制行,是一定的
              for (int j = 1; j <= i; j++) {//内循环,列是不固定的,是递增的
                     System.out.print(i+"*"+j+"="+i*j+" ");//保证第一行打印出来一个*,
## 嵌套for循环                     
for(…){
       for(…){        :**根据外层的条件,判断里层能否执行,如果能执行,就把里层代码都循环完毕后,再继续执行外层,继续判断。。**      
       ##   **break(打破立刻)和continue(继续)**
       .1     形式
break: 中断当前循环,简单粗暴
for(){
       代码1
if(条件){
  代码3…
    break;//如果成立,直接跳出这个for循环
}
代码2…
}
continue:跳出本次循环,进入下一轮
for(){
       代码1
if(条件){
    代码3…
    continue;//如果成立,跳出本次for循环,进入下一轮
}
代码2…
}
## while 与do-while
1.while  先判断再执行
2.do-while 先执行再判断
## 变量
概念:
可以改变的数,称为变量。一般通过三部分来描述一个变量。变量类型,变量名,变量值。其中三部分都是可以改变的,根据需要来确定即可。变量的使用原则:就近原则。尽量控制到最小范围。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527225824810.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)
## 三种循环的区别
三种循环都可以互相代替
1、 for:知道循环次数
2、 while/do while:当循环次数不确定时
3、 while:先判断,不符合规则,不执行代码
4、 do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
概念、1:成员变量:在类里方法外是 2:作用范围就是整个类里    3:可以不初始化,也会有默认值
            2:局部变量:在方法里是       2:  //作用范围就是方法里,出了这个方法就不认识了 3:必须初始化
             3:变量的就近原则,附近有同名的会去执行最近的
## 数组+变量
概念 1:被命名的代码块,方法可以含参数可以不含参数可以提高代码的复用性
形式  2: 修饰符  返回值  方法名(【参数】){方法体};
**方法的调用:**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527230813738.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)
## 方法重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(也就是说参数的个数和类型不同)。
程序调用方法时,可以通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527231025281.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021052723113639.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDk0MzQyNw==,size_16,color_FFFFFF,t_70)

## 数组的长度

Ø  length属性获取数组长度        Ø  数组一旦创建,长度不可变     Ø  允许0长度的数组
数组的遍历:从头到尾,依次访问数组的位置
for(int i=0;i<a.length;i++){   length表示数组的长度   **自动扩容 length-1表示因为数组的下标是从0开始的所以要减1**
       syso(a[i]);
}

## 数组工具类Arrays

 Arrays.toString(数组)
把数组里的数据,用逗号连接成一个字符串。
格式:[10, 14, 20, 46, 51]
Arrays.sort(数组)
对数组排序,对于基本类型的数组使用优化后的快速排序算法,效率高。
对引用类型数组,使用优化后的合并排序算法。
Arrays.copyOf(数组,新的长度)
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置。--数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。--数组的缩容
int[] a = Arrays.copyOf(arr, 10);//数组的复制,大于原来长度相当于扩容
System.out.println(Arrays.toString(a));//[12, 30, 20, 90, 34, 0, 0, 0, 0, 0]
System.out.println(a.length);//10        
int[] a2 = Arrays.copyOf(arr, 3);//数组的复制,小于原来长度相当于截取前几个数据
System.out.println(Arrays.toString(a2));//[12, 30, 20]
System.out.println(a2.length);//10       


       

    
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值