Java实例 Part2:Java语言基础

Posted hynazwaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实例 Part2:Java语言基础相关的知识,希望对你有一定的参考价值。


Part2:Java语言基础


**

Example01:从控制台接收输入字符

**

运行结果:
技术分享图片

实现代码:

import java.util.Scanner;

public class Example01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的名字:");   //提示用户输入
        String str = scanner.nextLine();  //获取用户输入的一行文本
        //打印你输入的内容
        System.out.println("你输入的内容是:"+str);
    }
}

要点:import java.util.Scanner;//导包
这一个实例中需要引入Scanner类,它是Java的扫描器类,可以从输入流中读取指定类型的数据和字符串。
**

**

Example02:自动类型转换与强制类型转换

**

Java基本数据类型之间存在自动类型转换与强制类型转换两种转换方法。低类型数据向高类型数据进行自动类型转换,高类型数据向低类型数据进行强制类型转换。

运行结果:
技术分享图片

代码实现:

public class Example02 {
    public static void main(String[] args) {
        byte b = 127;      //byte类型数据的范围是:-128~127
        System.out.println("byte="+b);
        int i = 12;
        System.out.println("累加int等于:"+(b+i));
        short s = 23561;
        System.out.println("累加short等于:"+(b+i+s));
        long l = 400000l;
        System.out.println("累加long等于:"+(b+i+s+l));
        char c = ‘w‘;
        System.out.println("累加char等于:"+(b+i+s+l+c));
        float f = 3.1415f;
        System.out.println("累加float等于:"+(b+i+s+l+c+f));
        double d = 54.523;
        System.out.println("累加double等于:"+(b+i+s+l+c+f+d));

        //高类型向低类型的强制转换
        System.out.println("把long类型强制转换为int:"+(int)l);
        System.out.println("把char类型强制转换为byte:"+(byte)c);
        System.out.println("把double类型强制转换为int:"+(int)d);
    }
}

要点转换后的类型 变量 = (转换后的类型)被转换的变量;


**

Example03:加密可以这样简单(位运算)


提示通过位运算的异或运算符“^”把字符串与一个指定的值进行异或运算,从而改变字符串中每个字符的值,这样就可以得到一个加密的字符串。当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原成原有字符串的值。**

运行结果:
图1 使用异或加密字符串
技术分享图片

图2 使用异或解密字符串
技术分享图片

代码实现:

import java.util.Scanner;

public class Example03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要加密的字符串或要解密的字符串:");
        String str = scanner.nextLine();      //获取用户输入的内容
        char[] chars = str.toCharArray();     //获取字符数组
        for (int i = 0;i<chars.length;i++){   //遍历数组
            chars[i] = (char)(chars[i] ^ 2000);  //对每个数组元素进行异或运算
        }
        System.out.println("加密或解密的结果如下:");
        System.err.println(new String(chars));     //输出密钥
    }
}

要点:程序最后使用的标准错误输出流不是用于输出信息,而是利用其在控制台以红色的特性来突出显示。本实例的关键技术是异或运算,如果某个字符x或数值与另一个数值m异或运算得到y,那么再用y与m进行异或运算就可以还原成x,这就是加密和解密的过程。
*

Example04:用三元运算符判断奇数和偶数

**

运行结果:
技术分享图片

实现代码:

import java.util.Scanner;

public class Example04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int number = scanner.nextInt();
        String str = (number % 2 == 0)?"这个数是:偶数":"这个数是:奇数";
        System.out.println(str);
    }
}

要点:三元运算符
条件运算 ? 运算结果1 : 运算结果2
如果条件运算的结果为true,返回值就是运算结果1,否则就是运算结果2。

*

Example05:不用乘法运算符实现2 x 16

**

提示:左移运算(运算效率非常高)
运行结果:
技术分享图片

实现代码:

import java.util.Scanner;

public class Example05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你想运算的数字:");
        int number = scanner.nextInt();

        System.out.println("你输入的数字是:"+number);
        System.out.println("该数字乘以2的结果为:"+(number<<1));
        System.out.println("该数字乘以4的结果为:"+(number<<2));
        System.out.println("该数字乘以8的结果为:"+(number<<3));
        System.out.println("该数字乘以16的结果为:"+(number<<4));
    }
}

要点:如果一个整数左移n位,就相当于这个整数乘以2的n次方。
***



















以上是关于Java实例 Part2:Java语言基础的主要内容,如果未能解决你的问题,请参考以下文章

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

java 代码片段

Java每日一面(Part2数据库)[19/11/28]

java 动态片段实例化

java 片段实例化器

《Java并发编程的艺术》读后笔记-part2