Java语法基础动手动脑
仔细阅读示例:EnumTest.Java,运行它,分析运行结果?
你能得到什么结论?你掌握了枚举类型的基本用法了吗?
EnumTest.java
- public class EnumTest {
- public static void main(String[] args) {
- Size s=Size.SMALL;
- Size t=Size.LARGE;
- //s和t引用同一个对象?
- System.out.println(s==t);
- //是原始数据类型吗?
- System.out.println(s.getClass().isPrimitive());
- //从字符串中转换
- Size u=Size.valueOf("SMALL");
- System.out.println(s==u); //true
- //列出它的所有值
- for(Size value:Size.values()){
- System.out.println(value);
- }
- }
- }
- enum Size{SMALL,MEDIUM,LARGE};
运行结果:
false,false,true,SMALL,MEDIUM,LARGE
阅读相应教材,或者设用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出
结果,与手工计算的结果进行比对,看看Java中的数是采用上述那种码表示的
- public class Bit {
- public static void main( String [] args ){
- System.out.println(3<<2);
- System.out.println(-3<<2);
- System.out.println(9>>3);
- System.out.println(-9>>3);
- }
- }
运行结果:
Java变量遵循“同名变量的屏蔽原则”,请课后阅读相关资料弄清楚相关知识,然后自己编写一些测试代码,就象本示例一样,有意识地在不同地方定义一些同名变量,看看输出的到底是哪个值
输出顺序按照就近原则,先在本方法内查找,如果没有,去到本类中查找,如果也没有,再去到上一级的接口或者父类中查找。如果上一级接口和父类都同时有,那么程序就会报错
源代码:
- public class Father {
- protected int a = 2;
- }
- public class Child extends Father{
- private int a = 3;
- public int getA(){
- return a;
- }
- }
- public class SameName {
- public static int a = 0;
- public static void main( String [] args ){
- int a =1;
- Child c = new Child();
- System.out.println(a);
- System.out.println(c.getA());
- }
- }
运行结果:
看着这个图,再看看Java中每个数据类型所占的位数,和表示数值的范围,你能得出什么结论?
int 32位 4字节 -2147483648~2147483647
short 16位 2字节 -32768~32678
long 64位 8字节 -9223372036854775808~9223372036854775807
float 32位 4字节 -340292347E+38~+340292347E+38
double 64位 8字节 -1.79769313486231576E+308~.79769313486231576E+308
char 16位 2字节 ‘\u0000′‘~‘\uFFFF’
boolean 1位 0.125字节 true/false
byte 8位 1字节 -128~127
低精度型向高精度型转换
请运行以下代码
- public class TestDouble {
- public static void main(String args[]) {
- System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
- System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
- System.out.println("4.015 * 100 = " + (4.015 * 100));
- System.out.println("123.3 / 100 = " + (123.3 / 100));
- }
- }
你看到了什么输出,意外吗?
运行结果
以下代码的输出结果是什么
- int x = 100;
- int y = 200;
- System.out.println("x+y="+x+y);
- System.out.println(x+y+"=x+y");
为什么会有这样的输出结果?
当+号两个操作数都是数字时为运算符,存在一个是" "时为连接符
Java语法基础动手动脑的更多相关文章
- java语法基础--动手动脑问题及课后实验问题
---恢复内容开始--- 动手动脑: 1:仔细阅读示例:EnumTest.java,运行它,分析运行结果 结果 :枚举类型是引用类型!枚举类型不属于原始数据类型,它的每个具体指都引用一个特定的对象.相 ...
- java第二节课 java语法基础动手动脑
动手动脑1:枚举变量 运行EnumTest.java package test2; public class EnumTest { public static void main(String[ ...
- Java语法基础动手动脑实践
输出结果为: 0.05+0.01=0.0600000000000000051.0-0.42=0.58000000000000014.015*100401.49999999999994123.3/100 ...
- 00-JAVA语法基础--动手动脑
1.运行EnumTest.java,并分析结果,得出结论. 其源代码以及运行结果截图如下: 枚举类型的常量以字符串的形式顺序储.源代码中s和t不是原始数据类型.getCLass():取得当前对象所属的 ...
- Java语法基础课 动手动脑
1.枚举类型 它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象. 枚举类型不是java原有数据类型 2.为什么double类型的数值进行运算得不到“数学上精确”的结果? 我们给出的数值,在 ...
- JAVA 数组作业——动手动脑以及课后实验性问题
JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...
- Java语法基础(1)
Java语法基础(1) 1. Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...
- JAVA语法基础作业——动手动脑以及课后实验性问题 (八)
一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...
- Java语法基础课后作业
1.动手动脑 运行它EnumTest.java,分析运行结果 s和t分别引用的是SMALL和LARGE,枚举类型不是原始数据类型,s和u的赋值方式不同,但结果一样,列出它的所有值:SMALL,MEDI ...
随机推荐
- postman使用方法
Postman sending requests 打开Postman,可以看到界面分成左右两个部分,右边是我们后头要讲的collection,左边是现在要讲的request builder.在requ ...
- c++ 读入优化、输出优化模板
0. 在有些输入数据很多的变态题中,scanf会大大拖慢程序的时间,cin就更慢了,所以就出现了读入优化.其原理就是一个一个字符的读入,输出优化同理,主要使用getchar,putchar函数. 1. ...
- 18. 4Sum (通用算法 nSum)
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar ...
- gridview空间使用
1.HTML代码 <asp:GridView ID="gv_Info" runat="server" AutoGenerateColumns=" ...
- js replaceAll全部替换
js不支持replaceAll,可以用函数new RegExp('要替换的内容','g')代替, 代码: str.replace(new RegExp('要替换的内容','g'),"替换内容 ...
- JDK1.5 Excutor 与ThreadFactory
Excutor 源码解读: /** * An object that executes submitted {@link Runnable} tasks. This * interface provi ...
- go语言sync包的学习(Mutex、WaitGroup、Cond)
package main; import ( "fmt" "sync" "runtime" "time" ) //加锁, ...
- sqlserver数据库命名规则
sqlserver数据库命名规则: (1)第一个字符必须是字母或“_”.“@”.“#” (2)数据库名称不能是T-SQL的保留字 (3)不允许嵌入空格或其他特殊字符
- 8K - 圆桌会议
HDU ACM集训队的队员在暑假集训时经常要讨论自己在做题中遇到的问题.每当面临自己解决不了的问题时,他们就会围坐在一张圆形的桌子旁进行交流,经过大家的讨论后一般没有解决不了的问题,这也只有HDU A ...
- Go语言之讲解GOROOT、GOPATH、GOBIN
Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. go命令依赖一个重要的环境变量:$GOPATH GOPATH允许多个目录, ...