java小细节问题

Posted 折腾青春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小细节问题相关的知识,希望对你有一定的参考价值。

float s = 1.2;  //ERROR: Java中,带小数点的数都是double类型

System.out.println( s2>>2 );  //ERROR: 位运算只能用于整型数---byte,short,int,long

a +=10; //等价于:a = a+10 ----注意1:"+"号和"="号之间不能有空白字符

public class HelloWorld{//类的名称中间不允许空格

----------------------------------------

System.out.println("------笔试题--------");
int b=10;
b += b -= b *= b;
System.out.println("b="+b);

-----------------------------------------

private static void demo4(){
int a=100,b=287783,c=-235;
int max = a>b ? a : b ;
max = max<c ? c : max;
System.out.println("max="+ max);

}

---------------------------------------------

下面方法挂的原因:
switch与case中的表达式的值必须能够匹配即:
至少类型要一致(且类型必须是整型(long除外)、char型中的一种,jdk7之后又增加了String型)
---本方法中 score为int型,而case中的表达式常量全是boolean型,无法匹配
*/
/*
public static void switchDemo2(){
int score=85;
if(score>100 || score<0 ){
System.out.println("Score is error!");
}
switch( score ){
case score>=90:
System.out.println("A");break;
case score>=80:
System.out.println("B");break;
case score>=70:
System.out.println("C");break;
case score>=60:
System.out.println("D");break;

default:
System.out.println("E");
}
}
*/

-----------------------------------------

//一个源程序当中,public的类最多只能有一个。如果有public的类,那么该类
//的名字必须与文件名相同(包括大小写)----Java中类的名字必须符合变量的命名规则

public class H11{
public static void main(String args[]){
System.out.println("11111");
}
}
public class H22{
public static void main(String args[]){
System.out.println("22222");
}
}
class H33{
public static void main(String args[]){
System.out.println("33333");
}
}

--------------------------------------------

/Java规范:凡是表示范围的,都左包含,右不包含。
//0-99
//a[i] =(int)(Math.random()*100) ; //random() [0,1)之间的随机小数

-------------------------------------------

 

public class TypeDemo{
public static void main(String args[]){
//char ch=‘a‘;//OK
//char ch="a";//ERROR: 双引号括的是字符串,单引号是字符
//char ch=97; //OK
//char ch; ch=97; //OK
char ch=97;
//ch = ch+1;//ERROR:丢失精度,两个数进行运算,结果向高精度靠齐
System.out.println(ch);

//char ch2=‘ab‘;//ERROR:char型数据中只含一个字符
char ch2=‘\t‘;//OK:因为这是转义字符 ---转义字符在Java中是被看成是一个字符的(前面的斜杠不算的)
//char ch2 = ‘\a‘;//ERROR:虽然是以斜杠开头,但不是转义字符
System.out.println(ch2);

float f = (float)1.2;//float f = 1.2f;

//byte b = 129; //ERROR: byte取值范围:[-128,127]
byte b = 1;
//b = b*2;//ERROR: 精度丢失,因为"b*2"的运算结果是int型
//b = b-1; //ERROR: 原理同上
System.out.println(b);

//int s = 12 + 0.0; //ERROR: 和0.0相加的结果自动转换成double型
//System.out.println(s);

//boolean flag = 1;//Java中的布尔变量值只有:true和false,没有0和1的概念
//System.out.println(flag);
/* 同理,下面用1代替true,都是错的
while(1){
if(1)//if(a<b && i>3)
break;
}
*/

char ch3=‘a‘;
if(ch3==97){//OK: 自动会转换成高精度的值进行比较
System.out.println("aaaa");
}

System.out.println( ch3|2 ); //char型数据可以当整数运算

}
}

-------------------------------------------

下面这种方式是不行的,因为它的赋值不在声明语句中
//int a[]; a = {23,4,-1,5,6,67,6};

//法4-----这种方式可以,但要以后才会用到
//int a[] = new int[]{23,4,-1,5,6,67,6};

------------------------------------------

 

以上是关于java小细节问题的主要内容,如果未能解决你的问题,请参考以下文章

Java基础入门

Java基础(正式上课第二天)

Java IO

Java面試題(实用性高)

2048等待写java版本

关于在eclipse for  javaee中修改servlet新建模板