Java SE复习_1 Java的基本格式和运算符

△.代表在当前目录.classpath能在任何路径下访问类文件.

△单行注释可以嵌套,多行注释不能嵌套

△java中的标识符只能有数字,字母,$和_,其他的符号都是错误的,不合法的.其中数字不能是开头.

△快捷打开命令窗口.按住shift,右键此处打开命令窗口.

△跨平台原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

△字符常量:‘‘单引号中必须放的是单个数字(0~9),10代表的是2个字符.‘‘不放字符也不可以.

△计算机内部以源码的形式存储,在运算的时候以补码的形式去运算.

△java中,除了char和boolean其他数据类型都是从负数开始取到正数,如int -2^31~2^31 byte:-128~127

char占两个字节:0~65535,boolean没有明确指定大小.(sun官方文档),float占四个字节,double占8个字节.

△>>>运算符将用0填充高位,而>>用符号位填充高位.在对于整数进行移位运算符的操作的时候,需要对移位运算符右侧的参数进行模以32的运算.例如:1<<35和1<<3和8是相同的.

△整数默认的类型是int类型,因此不能直接用long x=999999999;这样会显示数据类型错误(out of range).需要long x=9999999999l才可以.标识最好加L.

△小数的默认类型是double类型.因此如果float f=1.32;会直接报错.显示可能会损失精度.需要标识float f=3.12f;

△输出一个整数除以0的数值将会报错ArithMeticException异常.但是用浮点数除以0则不会报异常,会得到NAN或者Infinity.

△byte b=2;不会出现和float/double一样的错误,这是因为整数类型(常量在编译的时候就能确定了.但是如果是变量的话另当别论(short同理).如:

byte b=3+4;          //编译时已经确定,不会报错.直接数字相加直接转换为byte.注意!!float不同.

byte b1=3;

byte b2=4;

b=b1+b2;          //报错,两个byte变量相加会直接转化为int.java编译器有常量优化机制.

另外:

int x=32;

byte b=32;

b=b+x;

System.out.println(b);     //编译错误.这是因为b+x后转化为了int字节.再转换为byte会出现错误.

△小的数据类型在和大的数据类型运算时会补成大的数据类型.

△byte b=1;b+=1;//编译通过,隐藏了一个类型的转换,b++同理,不会报错.而b=b+1;则是将int类型转换为byte类型,会报错(Can not convert from int to byte)

byte b=(byte)129;会得到负数.因为截断.

而byte b=(byte)300;不会得到负数,因为300>256,因此最高位是0

△float f=123l; //编译成功,因为float比long大.因此倒过来也是不对的. float使用ieee754格式存储。只有24位精度,两个float之间的距离可能很大。 
举个简单的例子,2000000000和2000000050用float表示的话这两个数是相同的 。

整数是精确表示的。0位代表符号位,8位代表指数位,23位代表尾数位.

△System.out.println(‘a‘+1);     //输出98.因为在转换为int

System.out.println("hello"+‘a‘+1)//输出helloa1

System.out.println(‘a‘+1+"hello")//输出98hello

△System.out.println((float)(10/3))//输出3.0,因为10/3已经事先算好

△当两个数值进行想加的操作的时候,先将两个操作数转化为同一种类型,再进行计算.

  • 如果两个操作数中有一个是double类型,另一个操作数会转化为double类型.
  • 否则,如果有一个是float类型,另一个操作数会被转化为float类型.
  • 否则,如果有一个是long类型,另一个操作数将会被转化为long类型.
  • 否则,两个操作数均被转化为int类型(终点).

△Math.round方法方法代表对浮点数采用最接近的整数的舍入运算.如果参数是double类型,返回long.如果参数是float类型,返回int.

△常见的结合性从右向左的运算符:+=,-=,*=,/=,=.对于这类运算符,从右向左进行计算.a+=b+=c等价于a+=(b+=c).

△异或^:两边相同就是false两边不同则为true,&&是短路的,同时单与也有位运算符的作用.

△if语句和三元运算符的区别,a?b:c;三元运算符的b和c必须要要有明确的结果,因为三元运算符是运算符,要有明确的结果.

if(x<2)

int z=3;//错误.因为int z=3;实际上是两个语句.

△switch(表达式){

case 语句:语句1;

break;

}

在switch括号内的表达式byte,short,char,int 枚举(jse 1.5),字符串(jse 1.7).

case一旦成功匹配,其后的语句都不在判断.default:即使放在任意位置,也是最后去执行.

        

 int x =4;
          switch(x )
          {
               case 1:System.out.println("a");
               case 2:System.out.println("c");

               case 3:System.out.println("b");
               default:System.out.println("d");

          }

此时输出d.当default在最后面时,没有break也可以正常结束.

当default在最前面时,执行完default后,会继续向下.直到碰到break或者大括号

case 1:

case 2:

case 3:

语句;

这样的格式也是可行的.

△break可以带标签: 

 U:
            for( int x=0; x<=4; x++) {
                 for( int y=0; y<=3; y++) {
                      if( y==2)
                            break U;
                     System. out.println( "x="+ x+ ",y="+ y);
                }
           }

实际上带break的标签可以用在if语句中,跳出if语句块.

还有带标签的continue语句,其作用与break近似.

△静态导入:将类导入,以便使用类中的静态方法或者静态变量,如:import static java.lang.math.*;

△UTF-8一个中文三个字节,GBK码表一个中文两个字节.

时间: 2024-10-22 23:01:01

Java SE复习_1 Java的基本格式和运算符的相关文章

Java私人学习笔记——第2章 数据类型和运算符

2.2 数据类型 2.2.1 Java数据类型 2.3 常用运算符 Java提供了一组运算符丰富的操纵变量.我们可以把所有的Java操作符为以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其它运算符 算术运算符: 算术运算符用于在数学表达式中,他们是在代数中使用的方法相同.下表列出了算术运算符: 假设整型变量A=10和变量B=20,则: 算术运算实例 运算符 描述 实例 + Addition - Adds values on either side of the opera

S1/使用Java理解程序逻辑/02-变量、数据类型和运算符

Java常用数据类型 数据类型 说明 举例 int 整型 用于存储整数,例如,学员人数.某公司的员工编号.一年的天数.一天的小时数 double 双精度浮点型 用于存储带有小数的数字,例如,商品的价格.世界银行给其他国家(地区)的贷款金额.员工工资 char 字符型 用于存储单个字符,例如,性别“男”或“女”.成绩“优”或“良”(使用单引号) String 字符串行 用于存储一串字符,例如,员工姓名.产品型号.产品的介绍信息(使用双引号) int型的数值占4个字节,double型数值占8个字节.

在 Java SE 6 中监视和诊断性能问题

Java™ Platform, Standard Edition 6 (Java SE) 专注于提升性能,提供的增强工具可以管理和监视应用程序以及诊断常见的问题.本文将介绍 Java SE 平台中监视和管理的基本知识,并提供 Java SE 6 中相关增强的详细信息. Java SE 6 对性能进行了深入研究,使用增强的工具管理和监视应用程序并且诊断常见问题.这些改进包括: 监视和管理 API 增强 正式支持增强的图形监视工具 JConsole 提供增强的 Java 虚拟机(JVM)测试工具 本

Monitor and diagnose performance in Java SE 6--转载

Java SE 6 provides an in-depth focus on performance, offering expanded tools for managing and monitoring applications and for diagnosing common problems. The improvements include: Monitoring and management API enhancements Official support for an imp

Java SE 8 新特性之旅 : Java开发世界的大变动

我很自豪的成为了adopt-OpenJDK的一员,像其他专业团队成员一样,但是我只刚加入了8个月,我们一同经历了Java SE 8 的开发.编译.编码.讨论--等等,直到JDK上线.Java SE 8发布于2014年3月18日,现在可供下载使用. 我很高兴发布这一系列"Java SE 8 新特性之旅",我会写一些例子来简化Java SE 8知识的获取.开发经验.新特性和API,然后 利用你的知识,提高你的编码能力,同时提高你的生产力.我希望你能像我写文章一样享受它. 我们将游览Java

java ScriptEngine 使用 (java运行脚本文件)

转自:http://www.tuicool.com/articles/imEbQbA Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE 6中提供了一些接口来定义一个脚本规范,也就是JSR223.通过实现这些接口,Java SE 6可以支持任意的脚本语言(如PHP或Ruby). 运行第一个脚本程序 在使用Java SE 6运行脚本之前,必须要知道你的

初识Java和简单的Java文件编写及注意事项

Java的起源: 大胡子的Java语言主要的开发者James Gosling由此也被公认为Java语言之父.1995年5月23日,Sun科技部主管John Gage和Netscape创始人及副执行官Marc Andressen登上论坛向SunWord的听众宣布Java技术正式诞生,并将其纳入Netscape Navigator这个Web浏览器.十多年过去了,Java编程语言已经发展为“一种计算语言,一个平台,一个网络计算的架构(Sun首席执行官:Mac)”. Java平台分类:Java编程语言体

java书籍推荐:《Java SE 6 技術手册》

Java SE 6 技術手册 或  Java SE 6 技術手册 Java SE 6 技術手册 為什麼選擇用 Markdown?仅仅是單純把文件又一次排版太無聊了,不如趁這個機會學些新東西.所以我就藉這個機會來學著用 Markdown,並看看它有什麼好處與壞處 ... 假设你须要 PDF 與 epub 格式.而又有點懶自己轉換,那麼能够考慮在 Google Play 或 Pubu 上向便當價致敬,假设你须要 mobi 格式,能够使用 calibre 把 epub 轉為 mobi ... :) 我

Java阶段复习

实验环境:JDK1.8.0_111 Java阶段复习 ·Java程序的源文件名和源文件里面声明的类名的关系 我们现在有一个名为Review.java的java程序源文件名,源程序如下:         class/*声明类的关键字*/ Review/*类名*/{             /*下面的一行是main方法,main方法的格式是固定的,只有"[]"和"args"不固定,                "args"相当于是一个一维数组的数组