Java复习①☕

Java基础☕


目录:
1、Java概述
2、Java环境配置
3、Java注释符
4、编码字符集
5、标识符
6、关键字
7、变量
8、数据类型和转义字符
9、常量
10、数据转换
11、运算符
12、关于计算机中整数与小数的存储方式
13、流程控制
14、方法
15、变量的分类


在这里插入图片描述


1、java概述🍜
1.1、Java的特点

封装、多态、继承

1.2、java跨平台

在这里插入图片描述


2、java环境配置🍜
2.1、主要配置

主要添加和配置JAVA_HOMEPATH系统变量

2.2、cmd窗口

javac -version:能够打印出版本号(相当的于Java的快捷方式)

在这里插入图片描述

2.3、cmd常用命令

① cd:cd后面跟目录,到指定目录或者盘

② dir:显示当前目录下的所有目录

③ Ncpa.cpl:计算机网络配置

④ mspaint:打开系统画布

⑤ copy:复制

⑥ cls:清屏


3、Java注释符🍜

//:单行注释符

/**/:多行注释符

/***/:文档注释


4、编码字符集🍜
  • ASCII:美国信息交换标准代码
  • GBK:中国编码
  • Unicode编码库:utf-8编码

5.标识符🍜

⭐三个规则两个标准一个注意事项

5.1三个规则:
  • 不能用数字、下划线开头,由字母、数字、下划线、$组成
  • 不能与关键字重名
  • 严格区分大小写
5.2两个标准:
  • 驼峰标注(类大驼峰,方法变量小驼峰)
  • 见名知意
5.3一个注意事项:
  • 可以使用汉字

6、关键字🍜
  • 定义:被java所采用的一些单词,我们无法使用,例如:
publicstaticvoidreturn
privateimplementsintString
protactedclassshortbyte
interfacedoublefloatboolean

7、变量🍜
  • 定义:在程序中定义的一个可以用来存储数据的空间,在程序的运行过程中值可以发生变化
public class demo{
    public static void main(String[] args){
        //声明一个int类型的数据
        int num;
        //对num复制
        num=20;
        num=30;
        System.out.println(num);//30
    }
}

8、数据类型和转义字符🍜

分类:基本数据类型和引用数据类型

8.1 基本数据类型
  • 整数型数据

    数据类型数据名占字节位数范围
    byte字节型1B-128~127
    short短整型2B±3万
    int整数型4B±21亿
    long长整型8B很大
  • 浮点型数据

float单浮点型4B7~8位
double双浮点型8B15~17位
  • 布尔类型数据
Boolean布尔类型/逻辑型1B(实际是1bit)true/false
  • 字符类型
char字符类型2B(ASCII)0~255个字符、(Unicode)即0x00至0xFF、 (补码)65535
8.2 引用类型数据

①、数组 ②、 ③、接口

8.3 转义字符
  • “\n \r \r\n \t”
public class demo{
    public static void main(String[] args){
        System.out.print("abscdsfg"+"\t"+"adgs");
        System.out.print("abs"+"\t"+"adses");
         System.out.println("\n");
        System.out.print("111111"+"\r\n");
       
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dumx8feN-1629280317965)(C:\Users\艾黎珂\AppData\Roaming\Typora\typora-user-images\image-20210818173322921.png)]


9、常量🍜

定义:在程序中,无法重新赋值改变的量

  • 修饰符:public static final:主要是final

  • Eg:

    public static final int num=10;
    

10、数据转换🍜
10.1 数据小转大

①byte—>int ②short---->int ③int ----->long

public class demo{
    public static void main(String[] args){
        //①byte--->int
        byte num01=10;
        int num02=num01;
        //②short---->int
        short num03=300;
        int num04=num03;
        //③int ----->long
        long num04=1000;//如果赋值1000超过int范围会提示报错
        long num05=100000000000L;//加L表示是long型数据
    }
}
10.2 数据大转小

① int---->byte ② long ------int ③ int ------>char

public class Demo{
    public static void main(String[] args){
       // byte num=300;报错超出byte范围
        //byte num01=100;//报错有可能精度丢失
        byte num01=(byte)100;
        char ch=(char)97;//返回值a
    }
}
10.3、四则运算规则的汇总

在这里插入图片描述


11、运算符🍜
11.1、算数运算符
+加-减++加加–减减/除%求余*乘
11.2、逻辑运算符
  • & 与:无论左边是否为真,都要判断右边
  • | 或:无论左边是否为假,都要判断右边
  • && 短路与:左边为真直接为真,不判断右边
  • || 短路或:左边为假直接为假,不判断右边
  • ! 非:直接去反
  • ^ 异或: 相同为零,不同为一
11.3、赋值运算符

=:等于号(就是简单的赋值)

11.4、关系运算符
  • >:大于号 >=:大于等于
  • <:小于号 <=:小于等于
  • !=:不等于 ==:恒等于
  • instanceof:

instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。

11.5、位运算符

>>:右位移

<<:左位移

>>>:无符号右移

注释:

  • 左移:空缺补0,被移除的高位丢弃,空缺位补0,比如32位二进制 0000…00011左移3位变成了0…00011xxx,则xxx补足000即可。规律左移是基数乘以2的移位幂次方,比如3<<2则是322也就是3乘以2的2次幂。

  • 右移:最高位是什么就补什么。高位是1补1,是0就补0.,规律左移是基数除以2的移位幂次方,比如3>>1则是3/2也就是3除以2的1次幂。

  • 无符号右移:无论高位是0还是1都补0

在这里插入图片描述

11.6、三目运算符(条件运算符)
  • ”条件表达式”?“值1”:“值2”
Eg:10>5?"大于":"x小于";
11.7、扩展运算符
  • +=:a+=b相当于a=a+b
  • -=: a-=b相当于 a=a-b
  • /=:a/=b相当于 a=a/b
  • %=:a%=b相当于 a=a%b
  • *=:a*=b相当于 a=a*b
11.8、运算符的优先级

在这里插入图片描述


12、关于计算机中整数与小数的存储方式🍜
  • 整数
    • 正整数:原码反码补码都是不变
    • 负整数:
      • 原码:符号位为1其余不变
      • 反码:符号位1,其余取反
      • 补码:符号位为1,其余取反加一
  • 按补码存储

在这里插入图片描述


  • 小数
    • 按照浮点数的存储方式

在这里插入图片描述


13、流程控制🍜
13.1、分支语句
  • 单分支:if(条件表达式){语句体}
int a=10;
int b=20;
if(a>b){
    System.out.println("结果");
}
  • 双分支:if(条件表达式){语句体}else{语句体}
int a=10;
int b=20;
if(a<b){
    System.out.println("a<b:"+a<b);
}else{
    System.out.println("a<b:"+a<b);
}
  • 多分支:switch(条件表达式){case 表达式1 :语句体1 ;break;……default :语句体n}
    • Switch
    • if……else if
int a=1;
switch(a){
    case 1:a=10;break;
    case 2:a=20;break;
    case 3:a=30:break;
    default :a=100;break;
}
int a=10;
if(a>1){
    a=20;
}else if(a>100){
    a=10;
}else if(a>1000){
    a=1;
}
13.2、循环语句
  • for()循环
//指定次数循环
int s=0;
for(int i=1;i<=100;i++){
    s=s+i;
}
System.out.println(s);
//无限循环
for(;;){
    System.out.println("根本停不下来");
}

简单说for循环是万能循环,可以再指定次数的循环,也可以无限循环

  • while(条件表达式){语句体}
int s=0;
int i=1;
while(i<=100){
    s=s+i;
    i++;
}

通过条件表达式作为循环条件

  • do{语句体}while(条件表达式)
int s=0;
int i=1;
do{
    s=s+i;
    i++;
}while(i<=100)

while和do……while()前者循环只要不执行,循环次数为0,后者无论是否执行循环最差执行一次

13.3、循环的嵌套

假设打印一个三角形*

for(int i=1;i<=5;i++){
    for(int j=1;j<=i;j++){
        System.out.print("*");
    }
    System.out.println(" ");
}
13.4、循环的跳出方法
  • break :直接跳出当前循环(多层循环时,只能跳出本层)
  • continue:结束本次循环直接进行下一次
  • return:结束整个程序

14、方法🍜
14.1、什么是方法?
  • 方法就是一段处理问题或解决业务的代码块,通过对其定义,方便其他人使用时足够方便
14.2、方法的格式

①【public】【static】【void】main(【形参列表】){

​ 【方法体】

}

  • public :修饰符(private、protected)公共的

  • static :静态的 (static 修饰的类直接类名.方法名,其余需要引用.方法名())

  • void : 返回值类型(int、String、……)

14.3、方法的重载

定义:方法名相同,参数个数不一样,返回值不一样,程序体不一样

//EG:
public static int method(int a){
    System.out.println("a="+a);
    return a;
}
public static void method(int a,int b){
    System.out.prinlnt("a="+a+"b="+b);
}
public static double method(double a,double b,double c){
    return a+b+c;
}

🐖:基本数据类型中,不一定精确匹配,最近最优原则,都完全匹配的方法,则类型转换

🐖:此处的重载都是静态的方法,非静态的也可以,需要创建对象调用

14.4、方法之递归

个人看法,递归在一定程度上由循环的意思,但内核却是类似一个树状图,举例演示:

import java.util.Scanner;
/**
 * 递归实现求任意一个阶数
 */
public class Demo02{
        public static void main(String[] args){
                System.out.prinlnt("请输入要求的阶数:");
                Scanner can=new Scanner(System.in);
               System.out.println(method(can.nextInt()));
        }
        public static int method(int num){
                if(num==1){
                        return 1;
                }
                return num*method(num-1);
        }
}

在这里插入图片描述

缺点:占内存,效率慢

优点:写法简单,尤其是对于数据结构中的树状运算


15、变量的分类
15.1、局部变量

定义:便是我们平时定义在方法里的变量,超出所在方法范围后,自动回收

  • 位置:在方法里定义
  • 作用域:所在方法体内,出方法体自动回收
  • 调用方式:直接调用
public static void method(){
    int a=10//这个就是局部变量,作用域只在method方法内
}
15.2、成员变量

即在类里,但不在方法发内定义的变量,静态的成员变量可以直接类名点,非静态这对象点调用

  • 位置:类内,方法外
  • 作用域:这个类
  • 调用方式:静态的直接类名.调用,非静态的则是引用.调用
public class Demo{
    int a=10;
    static int b=30;
    public static void method(){
        b=30;
        System.out.println(b);
        Demo D=new Demo();
        D.a=20;
        System.out.prinln(D.a);
    }
}

补充:①String.haNextInt()判断是否是整数,提前为系统判断用户输入的是否是整数,而不是其他类型,防止编译时,因为输入问题报错。

②System.exit(-1)退出虚拟机

🍜基础篇完结!!!》》》》》》》》面向对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每日小新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值