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语言基础的更多相关文章
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- Java环境搭建及语言基础
JRE和JDK JRE:Java Runtime Environment,java运行环境. JDK:Java Development Kit,java开发工具包. 使用JDK开发java程序,交给J ...
- Java入门教程二(语言基础)
常量与变量 常量值又称为字面常量,它是通过数据直接表示 常量 实型常量值 Java 的实型常量值主要有如下两种形式 十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34.-98.0 科学记 ...
- Java实例练习——java实现自动生成长度为10以内的随机字符串(可用于生成随机密码)
package sorttest; import java.util.ArrayList; import java.util.Collections; import java.util.List; i ...
- Java-Runoob-高级教程-实例-方法:05. Java 实例 – 阶乘
ylbtech-Java-Runoob-高级教程-实例-方法:05. Java 实例 – 阶乘 1.返回顶部 1. Java 实例 - 阶乘 Java 实例 一个正整数的阶乘(英语:factoria ...
- Java - 35 Java 实例
Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实 ...
- Java-Runoob-高级教程:Java 实例
ylbtech-Java-Runoob-高级教程:Java 实例 1.返回顶部 1. Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. ...
- Java 实例
Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实 ...
- 【Java初探实例篇01】——Java语言基础
示例系列,将对每节知识辅以实际代码示例,通过代码实际编写,来深入学习和巩固学习的知识点. IDE:intellij IDEA: 语言:Java 本次示例:Java语言基础知识的应用. 创建包day_4 ...
随机推荐
- mysqldump导出sql文件中insert多行问题
mysqldump为了加快导入导出,默认把数据都缩减在一行里面. 查看和修改不方便,为此,我们可以使用--skip-extended-insert选项来使导出的数据,是多行插入形式的. mysqldu ...
- x64 QWORD Xor shellcode encoder
#!/usr/bin/env python #Filename: Xor_QWORD_x64.py #coding=utf-8 import re import sys import random i ...
- 数据结构之排序技术:快速排序、归并排序、堆排序(C++版)
快速排序 #include <iostream> using namespace std; void swap(int num[], int i, int j) { int temp = ...
- JPA注解实现联合主键
当表中一个主键不能唯一标识一条记录的时候,就需要使用联合主键了,下面是使用JPA注解实现联合主键的代码 1 首先需要建立一个复合主键类,用来存放需要生产联合主键的属性,该类需要实现序列化. packa ...
- newcoder NOIP提高组模拟赛C题——保护
我是发了疯才来写这道题的 我如果用写这道题的时间去写dp,我估计我能写上三四道 可怕的数据结构题 题目 这道题的鬼畜之处在于实在是不太好写 我们看到要求离树根尽量的近,所以我们很容易就能想到树上倍增, ...
- luogu P4135 作诗
嘟嘟嘟 郑重声明:我的前几到分块题写法上都有点小毛病,以这篇为主! 这道题感觉也是分块的基本套路,只不过卡常,得开氧气. 维护俩:sum[i][j]表示前 i 块中,数字 j 出现了多少次,ans[i ...
- Thread-Specific-Storage for C/C++
引用出处:https://www.cse.wustl.edu/~schmidt/PDF/TSS-pattern.pdf 摘要: 理论上多线程会提高程序性能,但实际上,由于在获取和释放锁的开销,多线程经 ...
- PHP不定维数组去除空值
最近遇到一个问题,是将不定维数组的空值去除,回来研究了一下,写出来了,不知道是否还能优化 写的不好的,如果有好的想法或者好的实现方法,欢迎提出来,如果哪里写错了,也欢迎大牛可以讲解一下 代码如下,欢迎 ...
- Selenium应用代码(读取excel的内容进行注册的案例)
1. 封装读取excel数据的方法:import java.io.*;import java.util.ArrayList;import java.util.List; import jxl.*;im ...
- ON_COMMAND ON_MESSAGE ON_NOTIFY区别与联系
ON_COMMAND是菜单和工具栏项处理消息的宏 ON_MESSAGE是处理自定义消息的宏 ON_NOTIFY 是控件向其父窗口发送消息处理的宏 对这几个消息的理解要先了解一下Window消息的背景. ...