IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JavaSE基本语法及相关练习题 -> 正文阅读

[Java知识库]JavaSE基本语法及相关练习题

一、基础语法

命名规则(规范):

	- 所有变量、方法、类名:见名知意
	- 类成员变量:首字母小写和驼峰原则:`monthSalary`
	- 局部变量:首字母小写和驼峰原则
	- 常量:大写字母和下划线:`MAX_NUM`

基本数据类型:

1.整型

? 默认int类型,声明long类型数据时,建议末尾加l或L,推荐L,表示区分

public class Test03{
    public static void main(String[] args){
        long num = 555555555555555;
        System.out.println(num);
    }
}
//编译出错:整数太大(末尾没有加L,将num默认视为int类型)
2.浮点型

? 默认时double类型,声明float数据类型时,建议结尾加f或F,推荐F,表示区分

public class Test03{
    public static void main(String[] args){
        float num = 3.33333333333333333;
        System.out.print(num);
    }
}
//编译出错:从double转为float可能会有损失
3.字符型

? Java语言允许使用转义字符’\'来将其后的字符转变为其他含义

char a = '\n';//表示换行符
4.布尔型
boolean flag ;
flag = ………;
if(flag) {
  // true分支
} else {
  // false分支
}

运算符:

1.算术运算符: +,-,*,/,%,++,–

2.赋值运算符 =

3.关系运算符: >,<,>=,<=,==,!=, instanceof

4.逻辑运算符: &&,||,!

5.位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)

6.条件运算符 ?:

7.扩展赋值运算符:+=,-=,=,/=

?

注意:
java中的乘幂处理
int  a = 3^2;	//java中不能这样处理,^是异或符号
double b = Math.pow(3,2);
位运算符
int a = 322;
int b = 3<<2;//相当于3x2,右移一位相当于除2取商,左移一位相当于乘2 
字符串连接符

"+"运算符两侧的操作数只要有一个是字符串(String)类型,系统会自动将另一个操作数转换成字符串然后再连接

int a = 12;
System.out.println("a = " + a);
逻辑运算符

&&(短路与):左边如果为假,右边无论是真假,结果都是假

||(短路或):左边如果为真,右边无论是真假,结果都是真

& (与):左右两边都为真则真,否则为假

|(或):有真则为真,否则为假

二、两个工具类

随机生成

两种随机生成数据的方式

? 1.Math类提供了一个名叫random的方法,可以随机生成[0,1)之间任意double类型的数据。

double rand = Math.random();

? 2.通过创建Random类的对象,调用nextInt()方法,生成指定范围的整数

Random rand = new Random();
int a = rand.nextInt(10);//随机生成0~9范围的任意一个整数

键盘录入

  1. 导包 (import java.util.Scanner; ) 告诉程序这个工具在何处

  2. 创建对象( Scanner sc = new Scanner(System.in); ) 创建工具

  3. 获取数据 (int num = sc.nextInt();) 使用工具获取数据

三、控制语句

选择结构

1.if选择

if、else if、else

2.switch选择

switch(){
    case * : sout();break;
    case * :sout();break;
	...
    default : sout();
}//如果不写break,会发生case穿透

循环结构

1.while

2.do while

3.for

4.continue语句,break语句

四、练习题

1.生成验证码:

import java.util.Random;
import java.util.Scanner;

public class VerificationCode {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i = scan.nextInt();

        Random random = new Random();

        String str = "";

        for(;i > 0;i--){
            int flag = random.nextInt(2);//随机生成0或1
            int flag1 = random.nextInt(2);//随机生成0或1
            if (flag == 0){
                str += random.nextInt(10);//随机生成0~9中的一个数
            }else{
                if (flag1 == 0){
                    char a = (char)(Math.floor(Math.random()*26) + 65);//随机生成26个大写字母
                    str += a;
                }else {
                    char b = (char)(Math.floor(Math.random()*26) + 97);//随机生成26个小写字母
                    str += b;
                }

            }

        }
        System.out.println(str);
    }
}

2.生成菱形

import java.util.Scanner;

public class Rhombus {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("请输入菱形的长度");
        int a = scan.nextInt();
        int b;

        if (a % 2 == 0){
            System.out.println("偶数无法生成菱形");//生成菱形需要行数为奇数
        }else {
            b = a / 2 + 1;

            //生成菱形
            for (int i = 1; i <= a; i++) {

                if (i <= b) {//生成菱形的上半部分
                    for (int j = 1; j <= a; j++) {
                        /*
                            将每一行的指定位置设为空格
                            j < 7 - i: 将上半部分的左侧指定位置设为空格
                            j > (i + 4 -1 ):将上半部分的右侧指定位置设为空格

                         */
                        if (j < (b - i + 1) || j > (i + b - 1)) {//(4-i)+((i-1)*2 + 1)
                            System.out.print(" ");
                        } else {
                            System.out.print("*");
                        }
                    }
                    System.out.println();
                } else { //生成菱形的下半部分
                    for (int j = 1; j <= a; j++) {
                        /*
                            j < (i - 4 + 1) :将下半部分的左侧指定位置设为空格
                            j > (7 - i + 4) :将下半部分的右侧指定位置设为空格
                         */

                        if (j < (i - b + 1) || j > (a + b - i)) {//4 + {[4 - (i - 4 )] - 1}
                            System.out.print(" ");
                        } else {
                            System.out.print("*");
                        }
                    }
                    System.out.println();
                }
            }

        }

    }
}

3.空菱形

import java.util.Scanner;

public class EmptyRhombus {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b;
        if (a % 2 == 0){
            b = a/2;
        }else {
            b = a/2 + 1;
        }
        //生成菱形
        for (int i = 1; i <= a; i++) {

            if(i <= b) {
                for (int j = 1; j <= a; j++) {
                    if (j == (b - i + 1) || j == (i + b - 1)){
                        System.out.print("*");
                    }else{
                        System.out.print(" ");
                    }
                }
                System.out.println();
            }
            else{
                for (int j = 1; j <= a; j++) {
                     if (j == (i - b + 1) || j == (a + b - i)){
                        System.out.print("*");
                    }else{
                         System.out.print(" ");
                     }
                }
                System.out.println();
            }
        }

    }
}

4.判断奇偶

import java.util.Scanner;

public class MathTest{
    public static void main(String[] args){
        System.out.println("请输入一个数");
        Scanner scan = new Scanner(System.in);
        double a = scan.nextDouble();
        if(a % 2 == 0){
            System.out.println( (int)a + "是偶数" );
        }else if(a % 2 == 1){
            System.out.println( (int)a + "是奇数");
        }else{
            System.out.println("输入的数据类型不正确");
        }
    }
}

5.猜数字

import java.util.Scanner;

public class RandomTest{
    public static void main(String[] args){
        int a = (int)(Math.random()*100) + 1;
        System.out.println("请输入你猜的数:");
        Scanner scan = new Scanner(System.in);
        int b = 0;
        do{
            b = scan.nextInt();
            if(a == b){
                System.out.println("正确!");
            }else if(b > a){
                System.out.println("猜大了");
            }else{
                System.out.println("猜小了");
            }
        }while(a != b);
    }
}

6.switch划分等级

import java.util.Scanner;

public class SwitchTest{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        char b = 0;
        if (a >= 90 && a <= 100) {
            b = 'A';
        } else if (a >= 80 && a < 90) {
            b = 'B';
        } else if (a >= 70 && a < 80) {
            b = 'C';
        } else if (a >= 60 && a < 70) {
            b = 'D';
        } else if (a < 60 && a >= 0) {
            b = 'E';
        } else {
            System.out.println("输入的成绩有误");
        }
        switch (b) {
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("中等");
                break;
            case 'D':
                System.out.println("及格");
                break;
            case 'E':
                System.out.println("不及格");
                break;
            default:
                System.out.println("");
        }
    }
}

7.数据反转

import java.util.Scanner;

public class Reverse{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入四位整数");
        int a = scan.nextInt();
        String str = "";
        for(int i = 0; i < 4;i++){

            str += (a % 10);
            a = a / 10;
        }
        System.out.println(str);
    }
}

8.计算位数

import java.util.Scanner;

public class CountBit{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a = scan.nextInt();
        int count = 0;
        while(a%10 != 0){
            a = a / 10;
            count++;
        }
        System.out.println(count);
    }
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 14:00:25  更:2021-07-22 14:02:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/18 17:51:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码