JAVA经典编程300例_三

目录

实例011:输出错误信息与调试信息

实例012:从控制台接收输入字符

实例013:重定向输出流实现程序日志

实例014:自动类型转换与强制类型转换

实例015:加密可以这样简单(位运算)

实例016:用三元运算符判断奇数和偶数

实例017:不用乘法运算实现 2 * 16(位移运算 更高效)

实例018:实现两个变量的互换(不借助第三个变量 异或运算 更高效)


实例011:输出错误信息与调试信息

package com.test_011;

public class Test_011 {
	public static void main(String[] args) {
		System.out.println("main()方法开始运行了");
		//输出一个错误信息
		System.err.println("在运行期间手动输出一个错误信息:");
		System.err.println("\t 该软件没有购买保险,请注意安全!");
		System.out.println("Test_011.main()");
		System.out.println("main()方法运行结束");
	}
}

每次运行结果都不同,错误信息位置随机。

实例012:从控制台接收输入字符

package com.test_011;

import java.util.Scanner;

public class Test_012 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);	//创建Scanner扫描器来封装System类的in输入流
		System.out.println("请输入字符串:");
		String str = sc.nextLine();
		System.out.println(str);
		sc.close();
	}
}

实例013:重定向输出流实现程序日志

System 类中的 out 成员变量是 Java 的标准输出流,程序常用它来输出调试信息。out 成员变量被定义为 final 类型的,无法直接重新赋值,但是可以通过 setOut() 方法来设置新的输出流。本实例利用该方法实现了输出流的重定向,把它指向一个文件输出流,从而实现了日志功能。程序运行后控制台提示运行结束信息,但是在运行过程中的步骤都保存到了日志文件中。

略难,以后懂了再来补充

实例014:自动类型转换与强制类型转换

package com.test_011;

public class Test_014 {
	public static void main(String[] args) {
		byte b = 127;
		char c = 'W';
		short s = 23561;
		int i = 3333;
		long L = 4000000L;
		float f = 3.1415926F;
		double d = 54.523;
		//低类型向高类型自动转换
		System.out.println("累加  byte 等于:" + b);
		System.out.println("累加  char 等于:" + (b+c));
		System.out.println("累加  short 等于:" + (b+c+s));
		System.out.println("累加  int 等于:" + (b+c+s+i));
		System.out.println("累加  long 等于:" + (b+c+s+i+L));
		System.out.println("累加  float 等于:" + (b+c+s+i+L+f));
		System.out.println("累加  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);
	}
}

运行效果:

累加  byte 等于:127
累加  char 等于:214
累加  short 等于:23775
累加  int 等于:27108
累加  long 等于:4027108
累加  float 等于:4027111.2
累加  double 等于:4027165.773
把 long 类型强制转换为 int:4000000
把 long 类型强制转换为 short:2304
把 double 类型强制转换为 int:54
把 short 类型转换为 char:尉

实例015:加密可以这样简单(位运算)

package com.test_011;

import java.util.Scanner;

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

程序最后使用的标准错误输出流不是用于输出错误信息,而是利用了其在 Eclipse控制台以红色显示的特征来突出显示。

实例016:用三元运算符判断奇数和偶数

package com.test_011;

import java.util.Scanner;

public class Test_016 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);	//创建输入流扫描器
		System.out.println("请输入一个整数:");
		long number = sc.nextLong();					//获取用户输入的整数
		String check = (number % 2 == 0)?"这个数是:偶数":"这个数是:奇数";
		System.out.println(check);
		sc.close();
	}
}

实例017:不用乘法运算实现 2 * 16(位移运算 更高效)

package com.test_011;

import java.util.Scanner;

public class Test_017 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		long number = sc.nextLong();
		System.out.println("你输入的数是:" + number);
		System.out.println("这个数字乘以2的运算结果为:" + (number<<1));		//左移一位 乘 2
		System.out.println("这个数字乘以4的运算结果为:" + (number<<2));		//左移两位 乘 4
		System.out.println("这个数字乘以8的运算结果为:" + (number<<3));		//左移两位 乘 8
		System.out.println("这个数字乘以16的运算结果为:" + (number<<4));		//左移两位 乘 16
	}
}

实例018:实现两个变量的互换(不借助第三个变量 异或运算 更高效)

package com.test_011;

import java.util.Scanner;

public class Test_018 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("获取变量A:");
		long a = sc.nextLong();
		System.out.println("获取变量B:");
		long b = sc.nextLong();
		System.out.println("A:" + a + " B:" + b);
		System.out.println("互换后的结果为:");
		a = a ^ b;
		b = a ^ b;
		a = a ^ b;
		System.out.println("A:" + a + " B:" + b);
	}
}

 

本书内容包括java语言概述、 eclipse开发工具、 java语言基础、 流程控制、 数组及其常用操作、 面向对象入门、 面向对象进阶、 字符串与包装类、 java集合类框架、 常用数学工具类、 错误处理、 输入/输出、 枚举类型与泛型、 swing入门、 多线程、 网络通信和数据库操作。   本书所精选的实都是一线开发人员在实际项目中所积累的,并进行了技术上的解析,给出了详细的实现过程。读者通过对本书的学习,能够提高开发的能力。    本书提供了大量的源程序、素材,提供了相关的模块库、案库、素材库、题库等多种形式辅助学习资料,还提供迅速及时的微博、qq、论坛等技术支持。    本书内容详尽,实丰富,非常适合作为零基础学习人员的学习用书和大中专院校师生的学习教材,也适合作为相关培训机构的师生和软件开发人员的参考资料。 《java经典编程300》 第1章 java语言概述   实001 输出“hello world”   实002 输出控制台传递的参数   实003 输出由“*”组成的角形   实004 输出符号表情 第2章 eclipse开发工具   实005 下载并运行eclipse 工具   实006 为eclipse安装汉化包   实007 使用eclipse注释代码   实008 使用eclipse格式化代码   实009 安装windowbuilder插件   实010 开发计算器界面 第3章 java语言基础   实011 输出错误信息与调试信息   实012 从控制台接收输入字符   实013 重定向输出流实现程序日志   实014 自动类型转换与强制类型转换   实015 加密可以这样简单(位运算)   实016 用元运算符判断奇数和偶数 .  实017 不用乘法运算符实现2×16   实018 实现两个变量的互换(不借助第3个变量)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值