学习内容一

Java对象的引用、实现反码补码、变量作用域_Java

 

 

 

 

**********************************

代码

**********************************

public class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?

/*
* 答: s和t引用的是不同的对象,拥有不同的地址值
*/
System.out.println(s==t);
//是原始数据类型吗?

/*
* 答:不是原始数据类型
*/
System.out.println(s.getClass().isPrimitive());
//从字符串中转换

/*
* 答:SMALL由字符串转化 赋值变量 u 两者比较相等
*/
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值

/*
* Size value:Size.values()
*/
for(Size value:Size.values()){
System.out.println(value);
/*
* valueOf()方法:

该方法为静态方法,调用者为枚举类,不是枚举值;

该方法形参只要一个String类型的值即可,并且该String值为枚举值对应的名称,
即toString()方法返回的值(比如枚举类为SPRING,对应的名称就是"SPRING"),
所以肯定是需要双引号的;

该方法有返回值,且返回值是一个枚举值(枚举类中定义的实例),比如我这里是季节枚举类,
枚举值就是SPRING, SUMMER, FALL, WINTER;

该方法方法的作用就是返回【名称为String name的】【枚举类T中的】枚举值;

可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

*/
}
}

}
enum Size{SMALL,MEDIUM,LARGE};

Java对象的引用、实现反码补码、变量作用域_Java_02

**********************************

学习内容二

 

Java对象的引用、实现反码补码、变量作用域_枚举类_03

**********************************

package test;
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
double num1=0.01;
double num2=0.01;
// System.out.println(num1+num2);
/*
* 1.在Java中,所有数据的表示方式都是以补码形式来表示
* 2.正数:原码、反码、补码相同
* 3.负数:符号位为1,其余各位是对原码取反,然后整个数加1(符号位不变 加一变补码);
* 4.~按位取反(反码加1称为补码。)
* 也就是要先求出原码然后取反
* 比如说
* n= - 4, 取反 (~-4)。注意:Java中,所有数据的表示方式都是以补码形式

补码:10000000 00000000 00000000 00000100
(java所有数据的表示方式都是以补码形式,所以把-4用二进制表现出来就是某个数的补码,只是我们看到的是-4)

反码:10000000 00000000 00000000 00000011

原码:11111111 11111111 11111111 11111100

对原码取反:00000000 00000000 00000000 00000011 (3)

因为是正数,所以补码等于原码等于反码= 3,所以~-4 = 3

 

1. 所有正整数的按位取反是其本身+1的负数

2. 所有负整数的按位取反是其本身+1的绝对值

3. 零的按位取反是 -1(0在数学界既不是正数也不是负数)

*/
int num0=-4;
System.out.println(~num0);
/*
* 左移运算符(<<)
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
左移1位后a = a * 2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
6. 右移运算符(>>)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2。
*/}
}

Java对象的引用、实现反码补码、变量作用域_枚举类_04

 

 

 

Java对象的引用、实现反码补码、变量作用域_枚举类_05

 

 

 

 学习内容三

Java对象的引用、实现反码补码、变量作用域_补码_06

 

 

 **********************************

package test;
// An addition program import javax.swing.JOptionPane; // import class JOptionPane
public class Addition {
public static void main( String args[] )
{
String firstNumber, // first string entered by user
secondNumber; // second string entered by user
int number1, // first number to add
number2, // second number to add
sum; // sum of number1 and number2 // read in first number from user as a string
firstNumber =
JOptionPane.showInputDialog( "Enter first integer" );

// read in second number from user as a string
secondNumber =
JOptionPane.showInputDialog( "Enter second integer" ); // convert numbers from type String to type dint
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber ); // add the numbers
sum = number1 + number2; // display the results
JOptionPane.showMessageDialog(
null, "The sum is " + sum, "Results",
JOptionPane.PLAIN_MESSAGE ); System.exit( 0 ); // terminate the program
}
}

 

Java对象的引用、实现反码补码、变量作用域_System_07

 

 

 

Java对象的引用、实现反码补码、变量作用域_补码_08

 

 

 

Java对象的引用、实现反码补码、变量作用域_Java_09

 

 

 学习内容四:

Java对象的引用、实现反码补码、变量作用域_补码_10

 

 

 **********************************

package test;
public class SameNamePro {
private static int value =1;

public static void main(String[] args) {
// TODO 自动生成的方法存根
int value=2;
System.out.println(value);
}
//不允许参数列表名称和函数内部变量名称相同
}

Java对象的引用、实现反码补码、变量作用域_System_11

 

好看请赞,养成习惯 :) 作者:​​靠谱杨​​

关于笔者: 我可能不是天才,但我会努力成为人才。

更多日常分享尽在我的VX公众号:小杨的挨踢IT生活

Java对象的引用、实现反码补码、变量作用域_补码_12