码迷,mamicode.com
首页 > 编程语言 > 详细

java基础知识

时间:2015-12-02 14:35:38      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

  • 两个整数交换位置的三种方法:
package com.dengchaoqun.ht;
import java.util.Scanner;
public class Test {
/**
 * 
 * java中又两个整数,让其数据交换的集中方法
 */
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
			Scanner scan=new Scanner(System.in);
			System.out.println("输入两个整数:");
			int a=scan.nextInt();
			int b=scan.nextInt();
			
			//第一种方法,借助中间变量
			int c=a;
			a=b;
			b=c;
			System.out.println("交换数据后的两个数是:"+a+"\t"+b);
			
			//第二种方法,不借助中间变量
			System.out.println("输入两个数:");
			int d=scan.nextInt();
			int e=scan.nextInt();
			d=d+e;              //这里也可以使用乘法来做。只不过,有可能会发生溢出错误
			e=d-e;
			d=d-e;
			System.out.println("交换后的数据为:"+d+"\t"+e);
			
			//第三种方法,异或运算^
			System.out.println("输入两个数:");
			int f=scan.nextInt();
			int g=scan.nextInt();
			f=f^g;
			g=f^g;
			f=f^g;
			System.out.println("交换后的数据为:");
			System.out.println(f);
			System.out.println(g);
//在这三种方法中位运算是最高效的。直接进行二进制转换 } }
  • 一道经典的面试题:请问下面代码是否正确

short s=10;
s=s+5;
System.out.println("s");

答案是:不正确,因为s=s+5已经隐式转换为int类型,int类型的精度比short精度高,所以,s的类型编译器无法判断,所以会报错。

 

java基础知识

标签:

原文地址:http://www.cnblogs.com/deng-c-q/p/5003764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!