简单的几个小例子:
java的初级学习(一)简单的几个小例子:
1. 标准输入
2. 标准输出
3. 重定向实现程序日志
4 自动类型转换盒强制转换:(转换类型)被转换类型
5. 位运算简单加密
6.三元运算符来判断奇偶数
7. 判断闰年
8. 验证登陆信息的合法性
9. 杨辉三角
10.画一个菱形
代码如下:</span></span>
package pack.com;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.math.BigDecimal;
import java.util.Scanner;
public class test{
public static void main(String[] args){
WriteHeart();
}
//例11::写一个菱形
public static void WriteHeart(){
int size=19;
if(size%2==0){
size++;
} //计算菱形大小
for(int i=0;i<size/2+1;i++){
for(int j=size/2+1;j>i+1;j--){
System.out.print(" "); //输出左上角位置的空白
}
for(int j=0;j<2*i+1;j++){
if(j==0||j==2*i){
System.out.print("*");//输出菱形上半部分边缘
}else{
System.out.print(" ");//输出上半部分空心
}
}
System.out.println("");//换行
}
for(int i=size/2+1;i<size;i++){
for(int j=0;j<i-size/2;j++){
System.out.print(" ");//输出菱形左下半空白
}
for(int j=0;j<2*size-1-2*i;j++){
if(j==0||j==2*(size-i-1)){
System.out.print("*");//输出菱形下半部边缘
}else{
System.out.print(" ");
}
}
System.out.println("");
}
}
public static void WriteAbc(){
BigDecimal sum = new BigDecimal(0.0);//和
BigDecimal factorial = new BigDecimal(1.0);//阶乘项的计算结果
int i = 1;//循环增量
while(i<=20){
sum= sum.add(factorial);//累加各项阶乘的和
++i;
factorial = factorial.multiply(new BigDecimal(1.0/i));//计算阶乘项
}
System.out.println("1+1/2!+1/3!+++ 1/20!\n"+sum);
}
//例10::杨辉三角
public static void WriteYangTriangle(){
int tri[][] = new int[13][];//定义二维数组以存放数据
for(int i=1;i<tri.length;i++){//遍历第一层
tri[i]=new int[i+1];//初始化第二层大小
for(int j=0;j<=i;j++){//遍历第二层
if(i==0||j==0||j==i){//将三角的两边均置一
tri[i][j]=1;
}else{
tri[i][j]=tri[i-1][j]+tri[i-1][j-1];//其余的就用定义,某点值是上一排的左边两值之和
}
System.out.print(tri[i][j]+"\t");
}
System.out.println();//换行
}
System.err.println("Game Over");
}
//chengfakoujue
public static void Write99(){
for(int i=1;i<10;i++){ //循环控制变量从1到9
for(int j=1;j<=i;j++){//第二层循环其最大控制变量应等于第一层的
int sum = i*j;
System.out.print(j+"*"+i+"="+sum+"\t");
}
System.out.println("");//每一I完了之后换行
}
System.err.println("Game Over");
}
//例九::验证登陆信息的合法性
public static void JudgeMoney(){
while(true){
Scanner input = new Scanner(System.in);//创建扫描器
System.out.println("请输入金额:");
String rebate = "";
int money = input.nextInt();
String line = input.nextLine();
if(money>=200){
int inter = (int)money/100;
switch(inter)
{
case 1: rebate="打九五折";break;
case 2: rebate="8.5折";break;
case 3: rebate="8*** ";break;
default:{rebate="1$$$ ";
}}}else{
rebate="抱歉,购物总金额低于200,只能获得小礼品一份!";
}
System.err.println(rebate);
if(line.equals("exit"))break;//若不想登陆,则选择退出
}
}
//例八::验证登陆信息的合法性
public static void JudgeLogin(){
while(true){
Scanner input = new Scanner(System.in);//创建扫描器
System.out.println("请输入用户名");
String username = input.nextLine();//接受用户名
System.out.println("请输入用户密码");
String userpassword = input.nextLine();//接受用户密码
if(!username.equals("luoyujie")){ //判断密码合法性
System.err.println("该用户未注册,不是合法用户");
}else if(!userpassword.equals("123456")){//同时,并列判断密码
System.err.println("登陆密码错误");
}else{//分支下来先用户名,密码均正确,登陆成功,退出
System.out.println("congradulate!!");
break;
}
System.out.println();
if(username.equals("exit"))break;//若不想登陆,则选择退出
}
}
//例七::判断闰年
public static void JudgeSpecialYear(){
while(true){
Scanner input = new Scanner(System.in);//创建输入流扫描器
System.out.println("请输入需要判断的年");
long year;
try {
year = input.nextLong();//将输入流转换为long类型
if(year%4==0&&year%100!=0||year%400==0){//满足判断条件;1,能被4整除 2,不能被100整除 其次,能被400整除
System.out.println(year+ "是闰年");
}else{
System.out.println(year + "不是闰年");
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("您输入的不是有效年");
}
String line= input.nextLine();//将输入的量转变为字符型
if(line.equals("exit"))break;
}
}
//使用异或来实现两个变量交换;
public static void exchange(){
Scanner input = new Scanner(System.in);//创建输入流扫描器
System.out.println("请输入整数A");
long A = input.nextLong();//获取用户的输入整数
System.out.println("请输入整数B");
long B = input.nextLong();//获取用户的输入整数
A=A^B;
B=B^A;
A=A^B;
System.out.println("A="+A+"\tB="+B);
}
//例六::三元运算符来判断奇偶数
public static void JudgeInterger(){
Scanner input = new Scanner(System.in);//创建输入流扫描器
System.out.println("请输入整数");
long num = input.nextLong();//获取用户的输入整数
String check = (num%2 == 0)? "这个数字是:偶数":"这个数字式:奇数";//三元运算)(条件表判断的Boolean)?结果一:结果二;结果一为条件的True
System.out.println(check);
}
//例五::位运算简单加密 “ ^ ”
public static void autoCode(){
while(true){
System.out.println("请输入一个英文字符串或解密字符组");
Scanner input = new Scanner(System.in);
String passward = input.nextLine();//获取用户输入
char[] array = passward.toCharArray();//获取用户字符数组
for(int i = 0;i<array.length ; i++){//遍历每个字符数组
array[i] = (char)(array[i]^20000);//对每个数组元素进行异或运算
}
System.out.println("加密或解密结果如下");
System.err.println(new String(array));//输出秘钥
System.out.println("按任意键继续:");
String line = input.nextLine();//扫描执行当前行,返回跳过的当前信息
if(line.equals("exit"))break;//当exit时退出
}
}
//例四::自动类型转换盒强制转换:(转换类型)被转换类型
public static void autoTurn(){
byte b = 127;
char c ='W';
short s = 23456;
int i = 344;
long l = 243424252L;
float f = 3.14159F;
double d = 54.4234;//低类型自动向高类型转换,整数double自动转为int ,而浮点数据自动转换为double
System.out.println("byte="+b+" char="+(b+c)+" short="+(b+c+s)+" int="+(b+c+s+i)+" long="+(b+c+s+i+l));
System.out.println("累加float="+(b+c+s+i+l+f)+" 累加double+"+(b+c+s+i+l+f+d));
System.out.println("把long类型妆欢为int: "+(int)l);
System.out.println("把long类型自动转换为short"+(short)l);
System.out.println("把double类型转换为int"+(int)d);
System.out.println("把short转换为char"+(char)s);
}
//例三::重定向输出流实现程序日志
public static void reName(String[] args){
try{
PrintStream out = System.out;//保存原输出流
PrintStream ps = new PrintStream("./log.txt");//创建文件输出流
System.setOut(ps);//设置使用新的输出流
int age = 18;//定义整形变量
System.out.println("年龄变量成功定义,初始值为18");
String sex ="女";//定义字符型变量
System.out.println("性别变量成功定义,初始值为女");
//整合两个变量
String info = "这是个"+sex+"孩子,应该有"+"岁了";
System.out.println("整合两个变量为info字符串变量,其结果为:"+ info);
System.setOut(out);
System.out.println("程序运行完毕,请查看日志文件");
}catch (FileNotFoundException e){
e.printStackTrace();
}
}
//例二::标准输入输出id
public static void inputId(){
Scanner input = new Scanner(System.in);//标准输入Scanner
System.out.println("请输入你的id:");
//String name = input.next();
while(true){//一直循环输入
String line = input.nextLine();//扫描执行当前行,返回跳过的当前信息
if(line.equals("exit"))break;//当exit时退出
System.out.println("你的id信息是:"+line);
//System.err.println("\t 在运行期间手动输出一个错误信息");
}
}
//标准字符的系统输入
public static void inputway(){
//例一::输出一组字符串
Scanner input = new Scanner("jkjh klk oi i oij jkj ih");
//input.useDelimiter("|,|\\.");//可用于分隔符
while(input.hasNext()){
System.out.println(input.next());
}
}
}