• java基础知识


    • 两个整数交换位置的三种方法:
    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+"	"+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+"	"+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的类型编译器无法判断,所以会报错。

  • 相关阅读:
    [POI2014]KUR-Couriers
    [题解向] Luogu4092 [HEOI2016/TJOI2016]树
    [探究] OI中各种初级数论算法相关
    [SCOI2005]骑士精神
    [intoj#7]最短距离
    数列分块入门
    动态规划问题基础
    Luogu P1967 货车运输
    Luogu P3379 【模板】最近公共祖先(LCA)
    Luogu P3378 【模板】堆
  • 原文地址:https://www.cnblogs.com/deng-c-q/p/5003764.html
Copyright © 2020-2023  润新知