Java极简入门教程——4.字符串、API使用、运算符和输入输出以及趣味小程序

Java的字符串运算符和输入输出

文章目录

    • 1.数据类型之引用数据类型
      • 1.1.String
        • 1.1.1.String.subString()
    • 2.Java API 文档的使用
    • 3.运算符
      • 3.1.简单赋值运算符
      • 3.2.算数运算符
      • 3.3.一元运算符
      • 3.4.相等和关系运算符
      • 3.5.逻辑运算符
      • 3.6.位、移位运算符
      • 3.7.类型比较运算符
    • 4.输入和输出
      • 4.1.输出
      • 4.2.输入
        • 4.2.1.hasNext
        • 4.2.2.nextLine
        • 4.2.3.nextInt
    • 5.趣味小程序

Java是目前最流行的后端编程语言。与数据库联系的比较近,和用户距离比较远(相对应前端来讲)。

软件或者系统的关系如下图。

Java极简入门教程——4.字符串、API使用、运算符和输入输出以及趣味小程序_第1张图片

如果喜欢漂亮的界面、图形化的内容,学习Web前端或者移动端。如果喜欢复杂的逻辑,和数据库、服务器等打交道,就学后端。

或者其他方向,算法、运维、DBA等都可以。选一个方向努力,别走了弯路。

到这里还继续的话,默认你选后端,Java了。

开始了,本篇已经默认你的Java之路已达成两个成就

  1. 成功安装JDK,并且在命令行(cmd、powershell)能成功打印java --version
  2. 已安装IDEA Community(IDEA社区版),并且能成功的创建Java项目。

如果还没,那就先看一下这几篇:

  1. Java极简入门教程——1.Java环境配置_编程还未的博客-CSDN博客
  2. Java极简入门教程——2.用IDEA创建Java项目_编程还未的博客-CSDN博客
  3. Java极简入门教程——3.基本数据类型和变量_编程还未的博客-CSDN博客

本篇的运行环境:

  1. IDE:IDEA Community,2022.1(IDEA社区版)
  2. JDK:Oracle Java 11

我们直接使用IDEA社区版编写程序,以及运行调试。对于没有编程技术的用户来讲,能成功安装配置好Java的环境变量,已经很不容易了。如果还用txt等文本编辑器写代码,用javac编译java运行,更为不容易。反复试验,找资料学习,反复失败,可能会打击兴趣,从而对编程产生抵触甚至恐惧的心理。

写这个Java极简入门教程,是为了快速掌握一些Java的编程知识,快速入手,少走弯路,尽快感受到编程的乐趣。

至于那些原理、编程思想等知识,放在后面一点的位置学习。那时候你已经不是个菜鸟了,再通过经典的Java书籍学习一遍,会更加轻松愉快。

**Java体系很大,有很多重要的知识。**但是,那都是后面要解决的。

这个教程的目标:教会用SpringBoot写一个简单Java服务,实现和数据库交互。(Java程序员的职业生涯,才要正式开始)

我们先从新手村的小野怪开启我们的升级之路。

1.数据类型之引用数据类型

数据类型包含基本数据类型和引用数据类型。上一篇已经讲过基本数据类型了,Java极简入门教程——3.基本数据类型和变量_编程还未的博客-CSDN博客。

简单讲一下引用数据类型。引用数据类型,就是对象。先跳过对象。

Java里面最常见的引用类型或者对象就是String。

1.1.String

String又叫字符串,在 Java 编程中广泛使用的字符串是一系列字符。

Java没有内置的字符串类型, 而是在标准 Java 类库中提供了 一个预定义类,类叫String。每个用双引号括起来的字符串都是String类的一个实例(实例和对象是一个意思)。

举个栗子:

/**
 * 字符串
 *
 * @author 编程还未
 */
public class Learn4 {
    public static void main(String[] args) {
        String a = "编程还未";
        String b = "";
    }
}

上面的变量ab就是两个字符串的引用。字符串还有个特点就是,可以用+拼接,生成一个新的字符串。凡是和字符串用+拼接的,都会得到一个新字符串。

举个栗子:

String a = "编程还未";
String c = "你好,我是" + a;
System.out.println("变量c:" + c);

结果如下:

字符串a:编程还未
变量c:你好,我是编程还未

其实,我们使用的打印方法System.out.println()也经常用到拼接。

String是一个类,所以包含了很多方法(后面会讲类和方法)。简单讲解几个方法

1.1.1.String.subString()

从字符串中提取一个字串。

/**
 * 字符串
 *
 * @author 编程还未
 */
public class Learn4 {
    public static void main(String[] args) {
        String a = "编程还未";
        String b = "";
        //在字符串a上,提取一个字串
        String aSubString = a.substring(0, 1);
        System.out.println("字符串a:" + a);
        System.out.println("字符串aSubString:" + aSubString);
    }
}

运行结果如下:

字符串a:编程还未
字符串aSubString:

这两句代码单独拿出来讲一下

String a = "编程还未";
//在字符串a上,提取一个字串
String aSubString = a.substring(0, 1);

定义了一个变量a,是String类型(因为String是引用类型,所以编程还未这个值,是String对象,a呢也叫对象的引用),值是“编程还未”。

定义了一个变量aSubString,是String类型,值是a.subString(0,1)。a.subString(0,1)的意思的在变量a的下标[0,1)的位置复制出一个新字符串。String a="编程还未";,长度是4,对应的下标为0-编,1-程,2-还,3-未。计算机,下标从0开始。

subString只是String类中众多方法之一,那么从哪里可以学到这些方法呢?

2.Java API 文档的使用

Java API,也就是Java的文档,里面记录了Java标准包的文档。

官方文档Overview (Java SE 11 & JDK 11 ) (oracle.com),这是英文的文档,官方没提供中文翻译版本。但是有社区/个人维护的中文版本,Overview - Java 11中文版 - API参考文档 (apiref.com)。

以官网的文档为例,简单讲一下如何使用。(中文版的使用方法没查别)

Java极简入门教程——4.字符串、API使用、运算符和输入输出以及趣味小程序_第2张图片

在右上角的SEARCH框输入String,选第一个java.lang.String,前面的java.langString类所在的包。点java.lang.String就会进到String里的详细文档。文档上面是对String类的讲解,下面的String类里面的属性,继续往下Method Summary,中文叫方法摘要,就是了。

Java极简入门教程——4.字符串、API使用、运算符和输入输出以及趣味小程序_第3张图片

Modifier and Type(变量和类型),Method(方法名),Description(描述)

这些文档其实就是用文档化注释写的,然后用Java自带的工具生成的。

3.运算符

运算符就是用来运算的。Java的运算符分几种

3.1.简单赋值运算符

这是我们最常见的运算符=,它将右侧的值赋值给左侧

int a = 0;
int b = 1;

3.2.算数运算符

+ - * /,加减乘除,以及取余数%。跟数学上的符号用法基本一致,需要注意的是,+也可以用来连接字符串。

/**
 * 算数运算符
 *
 * @author 编程还未
 */
public class Learn5 {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        //a + b 赋值给 sum
        int sum = a + b;
        System.out.println("sum:" + sum);

        int c = 3;
        int d = 2;
        int result1 = d - c;
        System.out.println("2-3=" + result1);

        int e = 10;
        int f = 3;
        int result2 = e / f;
        System.out.println("10/3=" + result2);

        //* 乘法不写了,自己试一下
        //写过取余
        int g = 10;
        int h = 3;
        int result3 = g % h;
        System.out.println("10%3=" + result3);
    }
}

运行结果如下:

sum:3
2-3=-1
10/3=3
10%3=1

3.3.一元运算符

一元运算符只需要一个操作数;它们执行各种操作,例如将值递增/递减1、对表达式求反或反转布尔值。

运算符 描述
+ 一元加运算符;表示正值(如果没有此值,数字为正数)
- 一元减运算符;否定,用在数字前就是负数
++ 增量运算符;将值递增 1
递减运算符;将值递减 1
! 逻辑补码运算符;反转布尔值

举个栗子

/**
 * 一元运算符
 *
 * @author 编程还未
 */
public class Learn6 {
    public static void main(String[] args) {
        int number1 = +1;
        System.out.println(number1);

        number1--;
        System.out.println(number1);

        number1++;
        System.out.println(number1);

        number1 = -number1;
        System.out.println(number1);

        boolean success = false;
        System.out.println(success);
        System.out.println(!success);
    }
}

3.4.相等和关系运算符

相等运算符和关系运算符确定一个操作数是否大于、小于、等于或不等于另一个操作数。这些运算符中的大多数可能看起来也很熟悉。需要注意的是,比较两个值是否相等不能用=,需要用==

运算符 描述
== 等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

这里demo先不写了,跟后面要讲到的if条件语句结合比较容易理解。

3.5.逻辑运算符

逻辑运算符,对两个布尔表达式进行运算。

运算符 描述
&& 逻辑与。当两个操作数都为真,结果为真。
|| 逻辑或。如果任何两个操作数任何一个为真,结果为真。
! 逻辑非。得到相反的结果。

这里demo先不写了,跟后面要讲到的if条件语句结合比较容易理解。

3.6.位、移位运算符

Java提供这里对整数类型提供位运算和移位运算的运算符。

操作符 描述
按位与
| 按位或
^ 按位异或
~ 按位非
<< 左移
>> 有符号右移
>>> 无符号右移

这里需要补充二进制的知识,源码、补码和反码的知识。先跳过,后期感觉自己可以的时候,看书补充知识。

3.7.类型比较运算符

instanceof运算符将对象与指定类型进行比较。使用它来测试对象是类的实例、子类的实例还是实现特定接口的类的实例。

这个后面讲到类和对象的时候,再讲。

4.输入和输出

为了增加后面内容的趣味性,让程序和程序员产生交互,需要可以从键盘输入,并将结果输出。软件交互的方式有很多,可以键盘、触屏手势、甚至可穿戴设备输入,输出的话也是各式各样,非常酷炫,文字、图像、动画等等。

但是我们目前只能选择键盘输入和简单的文字输出。

4.1.输出

这里的输出,其实的把内容打印到标准输出流,也就是控制台窗口。我们已经用过了,就是System.out.println();

System.out.println();可以输入那八中基本类型,也可以输出String字符串。

/**
 * 输出
 *
 * @author 编程还未
 */
public class Learn7 {
    public static void main(String[] args) {
        System.out.println(1);
        System.out.println(1.1f);
        System.out.println(1000L);
        System.out.println("你好,我是编程还未");
        int age = 18;
        System.out.println(age);
        //+连接字符串,结果是字符串,这里输出的是字符串
        System.out.println("年龄是:" + age + "岁");
    }
}

4.2.输入

输出用标准输出流,那输入就用标准输入流System.in

这都是固定的代码,记住即可。

import java.util.Scanner;

/**
 * 输入
 *
 * @author 编程还未
 */
public class Learn8 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //键盘输入的值
        String valueFromKeyboard = scanner.next();
        System.out.println("键盘输入的值:" + valueFromKeyboard);
    }
}

运行代码后,在控制台直接输入你好,按回车

Java极简入门教程——4.字符串、API使用、运算符和输入输出以及趣味小程序_第4张图片

Scanner还有一些其他方法,比如:nextIntnextLinehasNext等,IDEA是有提示的,比如输入:scanner. 。这个 . 按完,就有提示了。

Java极简入门教程——4.字符串、API使用、运算符和输入输出以及趣味小程序_第5张图片

这些方法的具体作用,可以通过Java API文档查看学习。

我们讲解一些hasNextnextIntnextLine

4.2.1.hasNext

这个方法可以一直输入值,程序不会自动结束。别输入空格,输入完成后按回车,可以重复输入按回车。

import java.util.Scanner;

/**
 * 输入
 *
 * @author 编程还未
 */
public class Learn9 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            //键盘输入的值
            String valueFromKeyboard = scanner.next();
            System.out.println("键盘输入的值:" + valueFromKeyboard);
        }
    }
}

结果

1
键盘输入的值:1
2
键盘输入的值:2
12
键盘输入的值:12

4.2.2.nextLine

next类似,但是可以输入空格,不能只输入空格。

import java.util.Scanner;

/**
 * 输入
 *
 * @author 编程还未
 */
public class Learn10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //键盘输入的值
        String valueFromKeyboard = scanner.nextLine();
        System.out.println("键盘输入的值:" + valueFromKeyboard);
    }
}

4.2.3.nextInt

获取输入的数字类型。nextnextLine输入的都是字符串。

import java.util.Scanner;

/**
 * 输入
 *
 * @author 编程还未
 */
public class Learn11 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //键盘输入的值
        String valueFromKeyboard = scanner.next();
        System.out.println("键盘输入的值:" + valueFromKeyboard);
    }
}

5.趣味小程序

基本数据类型和字符串,运算符,以及输入输出学完了。我们做一个趣味小程序。

按提示输入自己的信息并打印。

直接放代码,运行后输入一项后,按回车,再输入下一项。

import java.util.Scanner;

/**
 * 趣味小程序,你的信息。
 *
 * @author 编程还未
 */
public class Learn12 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("你好");
        System.out.println("请输入昵称");
        String nickName = scanner.next();
        System.out.println("请输入网龄,单位是年,只需要输入整数即可");
        int age = scanner.nextInt();
        // \n 是换行的意思
        System.out.println("你的信息是如下\n昵称:" + nickName + "\n网龄:" + age + "年");
    }
}

自由发挥吧,可以试着写一个复杂一些的趣味程序。

你可能感兴趣的:(入门,java)