Java基础复习——DAY1 (idea快捷键;运算符;数据输入输出;流程控制语句;数组;)

idea编写java快捷键

  • 快速生成main方法:psvm,回车
  • 快速生成输出语句:sout,回车
  • 内容提示:ctrl+alt+space
  • 单行注释:ctrl+/
  • 多行注释:选中,ctrl+shift+/
  • 格式化:ctrl+alt+L

1.基础语法

1.1注释

单行注释://注释信息
多行注释:/* 注释信息*/

1.2关键字

java赋予特定的含义的单词,关键字字母全部小写常用的编译器中,一般有颜色

1.3常量(java单引号和双引号含义不同

“kkk”——字符串常量
‘k’ ——— 字符常量

1.4数据类型

数据类型占用和存储范围

1.5变量

eg:int a = 10

注意1:定义long数据类型为了防止超量在赋值的数字后面加上L
eg: int long = 10000000000L

注意2:浮点数默认是double类型,定义变量和赋值时候小数后加上F
eg: float f = 1.14F

1.6标识符

6.1由数字、字母、下划线和美元符组成

  • 不能以数字开头
  • 不能是关键字
  • 区分大小写

6.2 常见命名规定

  • 大驼峰命名法:
    一个单词,首字母大写:Student
    多个单词,每个单词首字母大写:GoodStudent
  • 小驼峰命名法:方法,变量
    一个单词,首字母小写:name
    多个单词,第一个小写,其余大写:firstNameGood

1.7类型转换

1.7.1自动类型转换

小范围的数值和变量赋值给大范围的数据(小➡大)
1

1.7.2强制类型转换

大范围的数值和变量赋值给小范围的数据(大➡小)
eg:int k = (int)88.88 加个括号强制转换

2.运算符

2.1算数运算符

运算符把常量或者变量连接起来符合java语法的表达式

  • 加号 +
  • 减 -
  • 乘 *
  • 除 /
  • 取余 %

2.1.1字符的+操作

  • A的值时65 a的值时97 字符0的值是48
    注意:算术表达式中包含多个数据类型时候,整个算数表达式类型自动提升

2.1.2字符串+操作

  • eg:“wts”+666 结果为"wts666"
  • eg:1+99+“wts"结果为"100wts”
    字符串连接,多个加号,从左到右逐个执行

2.2 赋值运算符

2.2.1赋值运算符

  • +=
  • -=
  • *=
  • /=
  • %=
    在这里插入图片描述

2.3自增自减运算符

j=i++ 先把i赋值给j,i再+1
j=++i 先把i+1,再把结果赋值给j

2.4关系运算符

在这里插入图片描述

2.5逻辑运算符

2.5.1 逻辑运算符

  • & 逻辑与: a&b,a和b都是true,结果为true,否则为false
  • | 逻辑或: a|b,a和b都是false,结果为false,否则为true
  • ^ 逻辑异或:a^b,a和b结果不相同为true,否则为false
  • ! 逻辑非:!a,结果和a相反

2.5.2 短路逻辑运算符

  • && 短路与:作用和&一样,但是又短路效果
    &,无论左边真假,右边都要执行
    &&,左边为假,不执行右边;左边为真,执行右边

  • ||短路或:作用和 | 一样,但是又短路效果
    |,无论左边真假,右边都要执行
    ||,左边为真,不用执行右边

  • 总结短路逻辑:根据左边满足或者不满足,再结合右边判断

2.6 三元运算符

a>b?a:b
判断依据:先计算a>b的值,如果true,取a;反之,取b。
可以用来判断较大的值

3.数据输入

3.1 Scanner的使用

import java.util.Scanner;
public class helloworld {
    public static void main(String[] arge) {
        //创建对象
        Scanner sc = new Scanner(System.in);
        //接收数据
        int x = sc.nextInt();
        //输出数据
        System.out.println("x:"+x);
    }
}

3.1.1 eg:三个和尚比身高(Scanner和三元运算符)

import java.util.Scanner;
public class helloworld {
    public static void main(String[] arge) {
        //创建对象
        Scanner sc = new Scanner(System.in);
        //接收三个和尚的身高数据
        System.out.println("输入第1个和尚的身高:");
        int x1 = sc.nextInt();

        System.out.println("输入第2个和尚的身高:");
        int x2 = sc.nextInt();

        System.out.println("输入第3个和尚的身高:");
        int x3 = sc.nextInt();

        //零时身高变量保存,逐个比较,得出最大值
        int heighttemp = x1>x2?x1:x2;
        int maxheight = heighttemp > x3 ? heighttemp : x3;
        //输出结果
        System.out.println("最高的和尚身高:"+maxheight+"cm");
    }
}

4.流程控制语句

4.1 流程控制

分类:

  • 顺序结构(先后顺序)
  • 分支结构(if,switch)
  • 循环结构(for,while,do…while)

4.2 分支结构

4.2.1 if语句体

1. if语句

格式:
if(关系表达式){
语句体;
}

2. if else语句

格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}

案例:奇偶数判断
import java.util.Scanner;
public class helloworld {
    public static void main(String[] args){
        //创建项目
        Scanner sc = new Scanner(System.in);

        System.out.println("输入一个正整数:");
        int number = sc.nextInt();
        if(number%2==0){
            System.out.println("偶数!");
        }else{
            System.out.println("基数!");
        }
    }
}

3. else if 语句

格式:
if(关系表达式){
语句体1;
}else if{
语句体2;
}

else{
语句体n+1;
}

案例:星期几?
import java.util.Scanner;
public class helloworld {
    public static void main(String[] args){
        //创建项目
        Scanner sc = new Scanner(System.in);

        System.out.println("输入数据(1-7):");
        int week = sc.nextInt();

        if(week==1){
            System.out.println("周一!");
        }else if(week==2){
            System.out.println("周二!");
        }else if(week==3){
            System.out.println("周三!");
        }else if(week==4){
            System.out.println("周四!");
        }else if(week==5){
            System.out.println("周五!");
        }else if(week==6){
            System.out.println("周六!");
        }else if(week==7){
            System.out.println("周七!");
        }
    }
}

4.2.2 switch语句

格式:
switch(表达式){
case 值1 :
语句体1;
break;
case 值2 :
语句体1;
break;

default :
语句体 n+1;
[break;]
}
case后面跟的值 是要跟表达式比较的值

案例1:星期几?
import java.util.Scanner;
public class helloworld {
    public static void main(String[] args){
        //创建项目
        Scanner sc = new Scanner(System.in);

        System.out.println("输入数据(1-7):");
        int week = sc.nextInt();

        switch (week){
            case 1:
                System.out.println("周一!");
                break;
            case 2:
                System.out.println("周二!");
                break;
            case 3:
                System.out.println("周三!");
                break;
            case 4:
                System.out.println("周四!");
                break;
            case 5:
                System.out.println("周五!");
                break;
            case 6:
                System.out.println("周六!");
                break;
            case 7:
                System.out.println("周七!");
                break;
            default:
                System.out.println("输入的数字有错误!");
                break;
        }
    }
}

4.3 循环结构

4.3.1 for循环

格式:
for(初始化语句;条件判断语句;条件控制语句){
循环语句体;
}

案例:水仙花
import java.util.Scanner;
public class helloworld {
    public static void main(String[] args){
        //创建项目
        Scanner sc = new Scanner(System.in);
        //水仙花
        int a,b,c,i;
        for(i=100; i<999 ; i++){
            a = i/100; //百位
            b = i/10%10 ; //十位数
            c = i%10; //个位
            if(i == a*a*a+b*b*b+c*c*c ){
                System.out.println(i+"水仙花数!");
            }
        }
    }
}

注意:在java里面没有a^3的表示方法,只有aaa,或者其他的(应该是用到其他的包或者函数,还没学到!)

4.3.2 while语句

基本格式:
while(判断条件){
循环语句体;
}

4.3.3 do…while语句

基本格式:
do{
循环语句体;
}while(判断条件);

4.3.4 三个循环的区别

  • for循环和while循环,先判断后执行;do…while,先执行一边后判断;
  • for和while的区别: 呃,条件控制语句控制的变量for不能接着用,while可以接着用
  • 死循环三种:
    for(;;){ }
    while(true) { }
    do{ }while(true)

4.3.5 循环跳转控制语句

  • continue 跳过当前内容,继续下一次循环
  • break 结束整个循环

4.4 循环嵌套

有手就行

4.5 Random随机数

使用步骤:
1.导包:

import java.util.Random;

2.创建对象:

 Random r = new Random();

3.获取随机数:(注意范围

int number = r.nextInt(10);
     System.out.println(number);
     //获取随机数的范围是[0,10)!!!!

5.数组

5.1数组定义

格式1:(推荐使用)

int[] arr;//定义了一个int类型的数组,数组名为arr

格式2:

int arr[];//定义了一个int类型的变量,变量名为arr数组

5.2数组初始化

5.2.1 数组动态初始化

概念:只指定数组的长度,由系统给数组分配初始值(默认值如下:)

  • 整数默认值 0
  • 浮点数 0.0
  • 布尔值: false
  • 字符:空字符
  • 引用数据类型:null
int[] arr = new int[3];
        /*左边:
            int:说明数组类型是int型
            []: 说明这是一个数组
            arr:数组名

        右边:
            new:为数组申请空间
            int:数组中的元素类型是int型
            []:说明这是个数组
            3:数组长度

5.2.2 数组静态初始化

格式:

int[] arr = new int[]{1,2,3};

简化格式:

int[] arr = {1,2,3};

5.3数组元素访问

int[] arr = new int[3];
        System.out.println(arr);//[I@5305068a  内存地址!!!
        System.out.println(arr[0]);//默认值是0   数据!

5.4数组内存分配

在这里插入图片描述左栈右堆

  • 栈内存:存储局部变量
    定义在方法中的变量,例如:arr使用完毕,立即消失
  • 堆内存:存储new出来的内容(实体,对象),会为存储空间添加默认值
    每一个new出来的东西都有一个地址值使用完毕,会在垃圾回收器空闲时被回收

5.4数组常见操作

5.4.1遍历

  • 获取数组长度:数组名.length
int[] arr = new int[]{1,2,3,4,5};
        int i ;
        for(i = 0;i<arr.length;i++){
            System.out.println(arr[i]);
	
}

6.方法(未完)

概念:具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值