JAVA知识回顾1

一. 基础知识
字节
8bit=1B (Byte是数据存储的最小单位)

进制
1024Byte=1KB
KB GB MB TB PB EB ZB

命令行操作
查看 返回 清空 切换 退出

编写 .java 编译.class 运行
javac.exe 编译器 java.exe 解释器

ASCII码
A :65 0:48 a:97

char a='1';
System.out.println(a+0);
49

二. 运算符 表达式
算术运算符 + - * / %(对整数的除法才有意义) ++ –
对于加号:
1.对数值 :加法
2.对字符char ,char会被提升为int再计算。
3.对字符串 就是连接作用
(string并不是关键字,任何数据类型和字符串进行连接时,结果都变成字符串 str=java; str+20+30 结果为java2030
赋值运算符 比较运算符 逻辑运算符 三元运算符

优先级问题:
乘除优先于加减 小括号优先于一切

++num num++
单独使用 这两个没有差别
混合使用 ++num 变量加1,结果使用 ; num++ 先使用本来的值,然后再加1

x=10;   y=20;  result=++x(11)+y-- (20)  结果为31
变量才可以使用自增自减

对bite short char 三种来说,若右侧数值没超过范围,那么javac编译器会自动隐含地为我们补上一个(byte) ( short) (char) (强转 。若超过,则报错)

*编译器优化*
short num1=10;
short a=5;  short b=8;  short result=a+b;(错误写法)
short a = (short) 5; (补上隐含的  )
short a=5+8 ;  (正确写法) javac. 编译后为 short a=13;
short+short --  int+int --  int 

三. 代码书写

修饰符(public static )    返回值类型   方法名称  (参数类型   参数名称){
方法体
return  返回值(方法执行后最终产生的数据结果);
}

return 作用:1.停止当前方法 2.将后面的结果数据返回值还给调用处
方法的三种调用
1.单独调用 方法名(参数);
2.打印调用 System.out.println(方法名(参数));
3.赋值调用 数据类型 变量名称=方法名(参数);
没有返回值类型 void 的话 只能单独调用 不能其他方式调用

main 作用:
1.找到方法
2.参数传递
3.执行方法体
4.将result 带着返回值回到方法调用处

有参数:小括号中有内容,当一个方法需要一些数据条件才能完成任务的时候,就是有参数。
无参数:小括号为空,一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。

方法的重载: overload 方法的名称一样 ,但参数列表不同。
1.参数个数不同
2.参数类型不同
3.参数的多类型顺序不同 (int a, double b ; double a , int b )
与下列因素无关:与参数的名称无关 ;与方法的返回值类型无关 ;但 区分大小写

一些快捷指令要记得!可以在写代码的时候更快捷

数据类型:
基本数据类型:byte short int long char boolean float double
引用数据类型: string 数组 类 接口

数组:
1.数组中数据类型必须统一
2.一定有长度
3.长度不可改变

创建(初始化):
动态(长度) 类型 [ ] 数组名 = new 类型 [长度];
静态 (内容)
类型 [ ] 数组名=new 类型 [ ] {1,2,3 };
类型 [ ] 数组名={1,2,3 }; (已确定具体内容用静态)
直接打印数据名称得到的是数组对应的:内存地址哈希值
int [ ] arr ={1,2,3};
arr[0] 为1
int num = arr[1] 为2 赋值交给变量

默认值规则:整数 0 浮点数 0.0 字符 ‘\u0000’ 布尔 false 引用 null

注意:静态也是有默认值的(初始化时),只是系统马上自动替换了

内存分为五个部分

  1. .栈内存 存放方法中的局部变量
    有作用域,一旦超出,立刻从栈内存中消失
    (局部变量:方法的参数或方法{ }内部的变量)

  2. 堆内存:凡是new出来的都在堆中
    堆内存里的东西都有一个地址值:16进制。堆内存中都要默认值

  3. 方法区: 存储.class相关信息 ,包含方法的信息。
    方法的运行在栈中

  4. 本地方法栈 存放与操作系统相关的内容

  5. 寄存器 存放与CPU相关的内容

数组常见问题:
1.数组索引越界异常
2.空指针异常

方法:
1.获取数组长度
arr.length
注意:数组一旦创建,程序运行期间长度不可改变
int [ ] A = new int [3] ;
int [ ] A = new int [5] ;
这是定义了两个数组

快捷方法 array.fori

求最值:
int [ ] arr={5,15,30,20,100};
int max=arr[ 0];
for (int i=1 ; i<arr.length;i++) {
     if (arr[i] >max ){
          max=arr[i];
}}

数组反转:不需要用到新的数组
1.反转其实是对称位置元素交换(通常遍历数组用的是一个数组)
2.对称位置,需要两个索引值 int min =0 ; int max = arr.length-1;
3.交换 需要第三方空变量 int temp=a ; a=b; b=temp;
4.何时停止交换 min==max和min>max 总结就是需要保持 min<max

for(int min=0 ;max=arr.length-1;min<max; min++,max--){
int temp=arr[min];
arr[min]=arr[ max];
arr[max]=temp;
}

数组作为方法参数 传递的是地址
数组作为方法的返回值 返回是地址
任何数组类型都能作为方法的参数或返回值类型
一个方法可以有0,1,或多个参数,但只能有0或1个返回值
若希望一个方法产生多个结果数据进行返回,就需要用数组作为返回值

public static int [ ] cal (int a ,int b, int c){
 int sum=a+b+c;
 int avg=sum/3;
 int [ ]  arr=new int [2] ;
 arr[0] =sum;
 arr[1] =avg;
 return arr;}
 或者写成 int [ ] arr ={sum , avg}:
  在main方法中调用
  int [ ] result= cal (10,20,30);

}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值