【宋红康程序思想学习日记1】运用位运算思想实现两个数的互换

/**
位运算思路的一些解决办法。
交换m=12与n=5的值。
*/
class WeiExercise1
{

public static void main(String[] args)
{
//方法一
/*int temp=0;
int m=12;
int n=5;
temp=m;
m=n;
n=temp;*/

//方法二
/*int m=12;
int n=5;
m+=n;
n=m-n;
m=m-n;*/

//方法三 位运算 (m^n)^m==n,(m^n)^m==n
int m=12;// 1100
int n=5;// 0101
m=m^n;//异或1001=m
n=m^n;//异或0101=1101m=n
m=m^n;//m=1001 ,n=1101==(m^n)^m==n

System.out.print("m值是+"+m+",n值是+"+n);

}
}

时间: 2024-08-05 15:23:00

【宋红康程序思想学习日记1】运用位运算思想实现两个数的互换的相关文章

【宋红康程序思想学习日记3】杨辉三角

class Shuzu3 { public static void main(String[] args) {  int[][] yanghui=new int[10][]; //初始化二维数组 for(int i=0;i<yanghui.length;i++){ yanghui[i]=new int[i+1]; } for(int i=0;i<yanghui.length;i++){ for(int j=0;j<yanghui[i].length;j++){ yanghui[i][0]

【宋红康程序思想学习日记2】逻辑与实现二进制转换成十六进制运算

/** 进制转化 二进制60转化为十六进制 */class WeiExercise2{ public static void main(String[] args) { int i=60;// 0011 1100 int b=i&15;//&15: 0000 1111=(0000 1100=12=b) //int c=b-10; //int d=(c>10)?c+'a':c;//d=b-10+'a'=='c'.得到c String k1=(b<=9)?b+""

【宋红康程序思想学习日记4】数组简单操作

class Shuzu4 { public static void main(String[] args) { int[] arr=new int[]{12,34,55,22,54,3,2,2,-9,0,-89}; //最大值 int max=arr[0]; for(int i=0;i<arr.length;i++){ if(max<=arr[i]){ max=arr[i]; } } System.out.println("最大值是"+max); //最小值 int min

【宋红康学习日记8】面向对象特征之一--封装与隐藏

一 封装 1 创建对象时,调用属性值时,不应该“对象.属性”,应该尽量将类中属性设置为隐私,通过“对象.方法”来调用属性,这就是封装性与隐藏性的思想. 2 封装的思想:将类的属性私有化,提供方法(setter&getter方法)调用. 二 权限修饰符 public private protected  缺省(default) 1 权限大小 public<protected<defaule<private 2 class 只能由public default修饰 三 构造器 1 作用

【宋红康学习日记1】关于环境变量设置出现的问题——找不到或无法加载主类 java

忙活了一整天,最后被自己的小愚蠢所拜倒,不过也是学习到了很多,知道了出现问题怎样去解决. 问题是在cmd运行环境中编译我的第一个小程序HelloWorld时,javac命令可以运行,但是java命令后出现了下面的情况. 在经历了百度博客园各种查阅都无果的情况下,最后问舍友终于发现,原来是我程序写错了.在运行的时候,应该是java HelloWorld,没有后缀.这也说明我学习有多不认真,当然跟身体不舒服坐立不安(我不是女生)也很有关系,下次一定会好好掌握. 言归正传,简单说一下我配置环境变量的过

【宋红康学习日记20】

异常分为运行时异常和编译时异常.一 几种常见的运行时异常(运行时异常可不处理) 1 数组下标越界异常(ArrayIndexOutOfBoundsException) 2 算术异常(ArithmaticException) 3 类型转换异常(ClassCastException) 4 空指针 异常(NullPointerException) 1 //常见运行时异常 2 //01 数组越界异常 3 @Test 4 public void test1(){ 5 try{ 6 int[] arr=new

【宋红康学习日记18】接口

一 接口1 接口可看做是一个抽象的类,是一种功能,由常量(public static final修饰)和抽象方法(public abstract修饰)组成 interface AA{ (public static final)int age; (public abstract)void method(); }2 接口与接口:继承关系,多继承.interface AA extends BB,CC{} 类与接口: 实现关系,多实现. class AA implements BB,CC,DD{} 类与

【宋红康学习日记11】Object类与equals方法

1 == (1)当对象是基本数据类型时,比较值: (2)当对象是引用型时,比较的是地址值!!1 2 equals():只处理引用型数据:Object类中的equals方法依然比较的是地址值! 但在String,File,Date类重写了equals方法,比较的是值: 3 String类内存解析 Person p1=new Person("花花",20); Person p2=new Person("曹操",40); syso(p1==p2);//false syso

【宋红康学习日记5】数组

昨天写好的数组总结结果没有保存丢失掉了,现在重新写一下. 数组是用来存储数据的,是相同类型数据的组合,数组分为一维数组和多维数组,这里多维数组主要以二维数组为例. 一.数组的初始化 1.维数组初始化分为静态和动态初试化两张.静态初始化:int[] arr=new int[ ]{1,2,3}; 动态初始化:int[] arr=new int[3];  (一定要指明数组长度)arr[0]=2;arr[1]=4;arr[2]=89; 2.维初始化和一维初始化原理相同.静态初始化:int[][] arr