【Java 基础语法】逻辑控制,通宵都要看完这个Java关键技术点

1. 输出到控制台

  1. 基本语法

System.out.println(msg); // 输出一个字符串,自带换行

System.out.print(msg); // 输出一个字符串,不带换行

System.out.printf(format,msg); // 格式化输出,括号内内容类似于 C 语言的 printf

  1. 代码示例

int a = 10;

System.out.println(a); // 输出 a,自带换行

System.out.print(a); // 输出 a,不带换行

System.out.printf(“%d\n”,a); // 格式化输出,括号内内容类似于 C 语言的 printf

  1. 格式化输出表(随用随查)

| 转换符 | 类型 | 例子 | 输出结果 |

| — | — | — | — |

| d | 十进制整数 | (“%d”,100) | 100 |

| x | 十六进制整数 | (“%x”,100) | 64 |

| o | 八进制整数 | (“%o”,100) | 144 |

| f | 定点浮点数 | (“%f”,100f) | 100.000000 |

| e | 指数浮点数 | (“%e”,100f) | 1.000000e+02 |

| g | 通用浮点数 | (“%g”,100f) | 100.000 |

| a | 十六进制浮点数 | (“%a”,100) | 0x1.9p6 |

| s | 字符串 | (“%s”,100) | 100 |

| c | 字符 | (“%d”,‘1’) | 1 |

| b | 布尔值 | (“%b”,100) | true |

| h | 散列码 | (“%h”,100) | 64 |

| % | 百分号 | (“%.2f%%”,2/7f) | 0.29% |

2. 从键盘输入

  1. 读入一个字符(不推荐使用)

直接使用 System.in.read() 可以读入一个字符,但是需要搭配异常处理。如果不搭配异常,如下面代码就会编译出错

public static void main(String[] args) {

    System.out.print("Enter a char:");
    char i = (char)System.in.read();
    System.out.println("The char is :" + i);
}

我们需要将鼠标放到 read 上面,再按住 Alt + Enter 键就会出现在这里插入图片描述

再点击第一个或者第二个就不会报错了。这里其实是处理了异常,但是一个简单的读入字符就要这么复杂所以不推荐使用。

  1. 使用 Scanner 读取字符/字符串/整数/浮点数/布尔值
  1. 首先需要导入 util 包 import java.util.Scanner; ,在 IDEA 中,其可以通过输入 Scanner 后直接回车快速导入
  1. 然后再构造一个 Scanner 对象并与”标准输入流“ System.in 关联: Scanner 对象名 = new Scanner(System.in);
  1. 再就可以通过 Scanner 类的各种方法实现输入操作了
import java.util.Scanner;
public class TestDemo {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();			//读入一个整数
        double b = in.nextDouble();		//读入一个浮点数
        boolean c = in.nextBoolean();	//读入一个布尔值
        String s = in.next();			//读入一个字符串
    }
}
但是要注意,上述读入字符串是按空白符当作分隔符的,故只能读入第一个空格之前的字符。如果想要读取该行的所有字符(包含空格),应该使用
String s = in.nextLine();
但是使用这个方法还是有很大的缺陷,如果这行代码上面还有其他读入的语句,可能这行代码就不会实行。因为上一行的回车可能被它读入,直接这行结束。因此,只能将其放在读入代码的第一个或者在它前面加一个
in.nextLine();
来读取掉之前的回车。
  1. 我们知道在 C 语言中可以写类似于这样的代码输入多组数据

int a;

while(scanf(“%d”,&a) != EOF)

{

// 内容

}

在 C++ 中我们也可以写类似于这样的代码输入多组数据

int a;

while(cin>>a)

{

// 内容

}

那么在 Java 中怎么做呢?代码如下

Scanner in = new Scanner(System.in);

while(in.hasNextInt()){

int a = in.nextInt();

// 内容

}

并且在 IDEA 上我们可以手动输入 Ctrl + D 结束,在 Windows 的 cmd 上 我们手动输入 Ctrl + Z 结束,在 Linux 或 Mac 上,输入 Ctrl + D 结束

三、猜数字游戏


学 C 语言的时候我们可能都接触过随机数的生成,或者直接写一个猜随机数的游戏。那么使用 Java 该怎么写呢?

  1. 首先我们要知道在 Java 中随机数是怎么生成的。
  1. 首先需要导入 util 包 import java.util.Random; ,在 IDEA 中,其可以通过输入 Random 后直接回车快速导入
  1. 然后通过 Random 类中的方法生成我们想要的,如
import java.util.Random;
public class TestDemo {
    public static void main(String[] args) {
        Random random = new random();	// 默认随机种子是系统时间
        int rand = random.nextInt(bound:100) + 1;
        // random.nextInt(bound:100) 是生成[0,100)间的随机整数
    }
}
  1. 接下来就是很简单了,只要我们输入的数字与随机数字进行一下比较。直到判断正确再退出就可。故最终的代码是

public class TestDemo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

Random random = new Random();

int rand = random.nextInt(100) + 1;

while (true){

System.out.print(“请输入你所猜测的数字:”);

int num = scanner.nextInt();

if(num == rand){

System.out.println(“恭喜你,猜对了!”);

break;

}else if(num < rand){

System.out.println(“很遗憾,你猜的数字小了!”);

}else{

System.out.println(“很遗憾,你猜的数字大了!”);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
img

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!




如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
[外链图片转存中…(img-VKfQktyX-1711593323023)]

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!

[外链图片转存中…(img-LWSjl4LZ-1711593323023)]
[外链图片转存中…(img-8pN1HGAo-1711593323024)]
[外链图片转存中…(img-VHmVOhgE-1711593323025)]
[外链图片转存中…(img-Z6S0MUxD-1711593323025)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值