java基础注意点

java源文件以.java为扩展名。源文件的基本组成为.class类  
  
一个源文件中只能有一个public类。其他类的个数不限,如果源文件中包含一个public类,则文件名必须按该类命名  
  
java语言严格区分大小写。  
  
java方法有一条一条语句构成每个语句以;结束  
  
大括号成对出现  
  
4.      注释  
  
单行注释://  
  
多行注释:/* */  
  
文档注释:/** */  
  
5.      关键字:被java语言赋予特殊含义的字符串。单词。class public void intr short  
  
6.      保留字  
  
7.      标识符:凡是可以自己明明的地方:类名,变量名,包名  
  
8.      命名规则:  
  
Java 对各种变量  
  
、方法和类等要素命名时使用的字  
  
符序列称为标识符 凡是自己可以起名字  
  
的地方都叫标识符。 定义合法标识符规则:  
  
 由26个英文字母大小写,0-9 ,_或 $ 组成    
  
数字不可以开头。 不可以使用关键字和保留字,  
  
但能包含关键字和保留字。Java中严格区分大小写,  
  
长度无限制。 标识符不能包含空格。注意:在起名字时,  
  
为了提高阅读性,要尽量有意义,“见名知意”。  
  
9.      命名规范  
  
Java中的名称命名规范:  
  
包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、  
  
接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名、  
  
方法名:多单词组成时,第一个单词首字母小写,  
  
第二个单词开始每个单词首字母大写:xxxYyyZzz  
  
10.  常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ  
  
   
  
11.  变量  
  
12.  分类:  
  
基本数据类型:  
  
       数值型  
  
                     整数类型 byte1字节 short2字节 int4字节 long8字节  
  
                     浮点类型 float4字节 double8字节  
  
       字符型  
  
       布尔型  
  
引用数据类型 Stringstr1="javaEE"  
  
       类  
  
       接口  
  
       数组  
  
数据类型转换  
  
有多种类型的数据混合运算时,  
  
系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。  
  
     byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。  
  
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串  
  
   
  
二、    第二课  
  
//String 可以与基本数据类型做运算,但是仅限于+结果为String类型  
  
class Text{  
  
       Stringstr1="javaEE";  
  
       inti1=10;  
  
       Stringstr2=str1+i1;  
  
       System.out.println("str2:"+str2);  
  
       System.out.println("str1:"str1);  
  
       System.out.println('*'+'\t'+'*');//93  
  
       System.out.println("*"+"\t"+"*");  
  
       System.out.println("*"+'\t'+'*');//""+''链接  
  
}  
  
练习  
  
String str1 = 4;        //判断对错:错  
  
String str2 = 3.5f + “”;             //判断str2对错:对System.out.println(str2);        //输出:3.5  
  
System.out .println(3+4+“Hello!”);      //输出:7Hello  
  
System.out.println(“Hello!”+3+4);      //输出:Hello!34  
  
System.out.println(‘a’+1+“Hello!”);    //输出:98Hello!  
  
System.out.println(“Hello”+‘a’+1);            //输出: Helloa1  
  
public class Text5{  
  
       public static void main(String []args){  
  
              //Stringstr1=4;  
  
              Stringstr2=3.5f+"";  
  
              System.out.println(str2);  
  
              System.out.println(3+4+"Hello!");  
  
              System.out.println("Hello!+3+4");  
  
              System.out.println('a'+1+"Hello");  
  
              System.out.println("Hello"+'a'+1);  
  
              Strings0="hello";  
  
              Strings1=new String ("hello");  
  
              Strings2="he"+"lo";  
  
              System.out.println(s0==s1);  
  
              System.out.println(s0==s2);  
  
   
  
              shorts=5;  
  
              //s=s-2;  
  
              bytebb=3;  
  
              //b=b+4;  
  
              bb=(byte)(bb+4);  
  
              charc='a';  
  
              inti=5;  
  
              doubled=.314;  
  
              byteb=5;  
  
              shortss=3;  
  
              intt=ss+b;  
  
       }  
  
}  
  
   
  
String  
  
值null可以赋值给任何引用类型(类、接口、数组)的变量,用以表示这个引用类型变量中保存的地址为空。  
  
String类属于引用类型,可用null赋值。  
  
String类是一个典型的不可变类,String对象创建出来就  
  
     不可能被改变。创建出的字符串将存放在数据区,保证  
  
     每个字符串常量只有一个,不会产生多个副本。  
  
     String s0 = “hello”;  
  
      String s1 = “hello”;  
  
     String s2 = “he” + “llo”;  
  
     System.out.println(s0 ==s1);  
  
     System.out.println(s0 ==s2);  
  
   
  
进制  
  
对于整数,有四种表示方式:  
  
二进制:0,1 ,满2进1.以0b或0B开头。  
  
十进制:0-9 ,满10进1. 八进制:0-7 ,  
  
满8进1. 以数字0开头表示。  
  
十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。     
  
 如:0x21AF +1= 0X21B0  
  
  
  
底层的整数都以补码的形式存储  
  
对于正数来说。原码,反码,补码,3码合一  
  
对于负数来讲。。原码,反码(除了符号位外所有原码位置值取反),补码(反码加1)  
  
Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;  
  
当是long类型时,二进制默认占64位,第64位是符号位  
  
   
  
八进制与二进制的转换对于整数,有四种表示方式:二进制:0,1 ,满2进1.以0b或0B开头。十进制:0-9 ,满10进1. 八进制:0-7 ,满8进1. 以数字0开头表示。十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。    如:0x21AF +1= 0X21B0  
  
 2-->8 将二进制的每隔三位为一组转换为十进制作为八进制的一位   
    
运算符  
  
1)         算术运算符  
  
2)        赋值运算符  
  
3)       比较运算符  
  
4)        (关系运算符)  
  
5)        逻辑运算符  
  
6)        位运算符  
  
7)        三元运算符  
  
1.算数运算符   
  
*/  
  
public class Text3{  
  
       publicstatic void main(String []args){  
  
              int i1=10;  
  
              int i2=10/2;  
  
   
  
              int i3=12;  
  
              int i4=i3/2;  
  
              System.out.println("i2:"+i2);//5  
  
              System.out.println("i4:"+i4);//2  
  
   
  
              double d1=i3/5;  
  
              System.out.println("d1:"+d1);  
  
               int a=1230;  
  
               int b=a/1000;//1;  
  
               int c=12/5*5;  
  
               System.out.println("b:"+b);  
  
               System.out.println("c:"+c);  
  
                 
  
               int j1=12;  
  
               int j2=j1%5;  
  
               System.out.println("j2:"+j2);//2  
  
   
  
               j1=12;  
  
               j2=j1%-5;  
  
               System.out.println("j2:"+j2);//2  
  
   
  
               j1=-12;  
  
               j2=j1%5;  
  
               System.out.println("j2:"+j2);//-2  
  
   
  
               j1=-12;  
  
               j2=j1%-5;  
  
               System.out.println("j2:"+j2);//-2  
  
               //结果与被模数一直  
  
   
  
               int m1=10;  
  
               int m2=m1++;  
  
               System.out.println("m1:"+m1);//11  
  
               System.out.println("m2:"+m2);//10  
  
   
  
               m1=10;  
  
               m2=++m1;  
  
               System.out.println("m1:"+m1);//11  
  
               System.out.println("m2:"+m2);//11  
  
              //前++ 先加一后赋值  
  
              //后++ 先赋值后++  
  
               m1=10;  
  
               m2=--m1;  
  
               System.out.println("m1:"+m1);//9  
  
               System.out.println("m2:"+m2);//9              
  
   
  
               m1=10;  
  
               m2=m1--;  
  
               System.out.println("m1:"+m1);//9  
  
               System.out.println("m2:"+m2);//10     
  
   
  
               short s1=10;  
  
               s1=(short)(s1+1);  
  
               s1++;//数据类型没变  
  
               System.out.println("s1:"+s1);  
  
       }  
  
}  
  
   
  
1.如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。  
  
2.对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如:int x=3510;x=x/1000*1000; x的结果是?  
  
3.“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println("5+5="+5+5);//打印结果是  
  
2.自加运算符  
  
int m1=10;  
  
               int m2=m1++;  
  
               System.out.println("m1:"+m1);//11  
  
               System.out.println("m2:"+m2);//10  
  
   
  
               m1=10;  
  
               m2=++m1;  
  
               System.out.println("m1:"+m1);//11  
  
               System.out.println("m2:"+m2);//11  
  
              //前++ 先加一后赋值  
  
              //后++ 先赋值后++  
  
               m1=10;  
  
               m2=--m1;  
  
               System.out.println("m1:"+m1);//9  
  
               System.out.println("m2:"+m2);//9              
  
   
  
               m1=10;  
  
               m2=m1--;  
  
               System.out.println("m1:"+m1);//9  
  
               System.out.println("m2:"+m2);//10     
  
   
  
               short s1=10;  
  
               s1=(short)(s1+1);  
  
               s1++;//数据类型没变  
  
               System.out.println("s1:"+s1);  
  
  
3.赋值运算符  
  
public class Text4{  
  
       publicstatic void main(String[]args){  
  
              int i1=10;  
  
              //i1=i1+5;  
  
              i1+=5;//i1=i1+5;  
  
   
  
              double d=15;  
  
              d*=0.2;//d=d*0.2;  
  
              System.out.println("i1:"+i1);  
  
              System.out.println("d:"+d);  
  
   
  
              short s=10;  
  
              s+=2;//s=s+2;  
  
              System.out.println("s:"+s);  
  
   
  
              int i=1;  
  
              i*=0.1;  
  
              System.out.println(i);//0  
  
              i++;  
  
              System.out.println(i);//1  
  
       }  
  
}  
  
short s = 3;  
  
s=s+2; ①   s+=2;  ②   
  
①和②有什么区别?  
  
s+=2;  会出错!s=s+2;没问题  
  
4.比较运算符  
  
class Text6{  
  
       publicstatic void main(String[] args){  
  
              boolean b=false;  
  
              System.out.println("Hello"instanceof String);  
  
              if(b=true){  
  
                     System.out.println("今天下雨了");  
  
              }else{  
  
                     System.out.println("今天没下雨");  
  
              }  
  
              int i=1;  
  
              if(i>-4 && i<2){  
  
                     System.out.println("今天下雨了");  
  
              }else{  
  
                     System.out.println("今天没下雨了");  
  
              }  
  
       }  
  
}  
  
   
  
&—逻辑与         | —逻辑或         !—逻辑非&& —短路与      || —短路或        ^ —逻辑异或  
  
逻辑运算符  
  
a      b     a&b a|b   !a    a^b  a&&b     a||b  
  
true  true    T   T      F        F         T                T  
  
true  false   F   T      F        T         F          T  
  
false true    F   T      T        T        F             T  
  
false false   F   F      T        F        F              F  
  
   
  
/* 
 
5.逻辑运算符 
 
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。 
 
“&”和“&&”的区别: 
 
单&时,左边无论真假,右边都进行运算; 
 
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 
 
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。 
 
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。 
 
     理解:异或,追求的是“异”! 
 
 &与&&的区别和用法 
 
*/  
  
class Text7{  
  
       publicstatic void main(String[] args){  
  
              boolean b1=true;  
  
              boolean b2=false;  
  
              System.out.println(b1 & b2);  
  
              System.out.println(b1 && b2);  
  
              System.out.println(b1 | b2);  
  
              System.out.println(b1 || b2);  
  
              System.out.println(b1 ^ b2);  
  
              System.out.println(!b1);  
  
   
  
              //当符号左端为假时程序会继续执行符号又短的  
  
              int i1=10;  
  
              if(b2 & i1++>0){//全部判断完  
  
                     System.out.println("条件为真");  
  
              }else{  
  
                     System.out.println("条件为假");  
  
              }  
  
              System.out.println("i1:"+i1);  
  
   
  
              int i2=10;  
  
              if(b2 && i2++>0){//短路判断  
  
                     System.out.println("条件为真");  
  
              }else{  
  
                     System.out.println("条件为假");  
  
              }  
  
              System.out.println("i2:"+i2);  
  
   
  
              if (b2 & 10/0 >2){  
  
                     System.out.println("HiHi");  
  
              }  
  
   
  
              //| and ||的区别  
  
              int j1=10;  
  
              if(b1 | j1++>0){  
  
                     System.out.println("条件为真");  
  
              }else{  
  
                     System.out.println("条件为假");  
  
              }  
  
              System.out.println("j1="+j1);  
  
   
  
              int j2=10;  
  
              if(b1 || j2++>0){  
  
                     System.out.println("条件为真");  
  
              }else{  
  
                     System.out.println("条件为假");  
  
              }  
  
              System.out.println("j2="+j2);  
  
       }  
  
}  
  
  
例题1:  
  
class Text11{  
  
         public static void main(String[] args){  
  
                  intx=1;  
  
                  inty=1;  
  
                  if(x++==2& ++y==2){  
  
                           x=7;  
  
                  }  
  
                  System.out.println("x="+x+",y="+y);//2/2  
  
                  x=1;y=1;  
  
                  if(x++==2&& ++y==2){  
  
                           x=7;  
  
                  }  
  
                  System.out.println("x="+x+",y="+y);//2/1  
  
                  x=1;y=1;  
  
                  if(x++==1|++y==1)  {  
  
                           x=7;  
  
                  }  
  
                  System.out.println("x="+x+",y="+y);//7/2  
  
                  x=1;y=1;  
  
                  if(x++==1||++y==1){  
  
                           x=7;  
  
                  }  
  
                  System.out.println("x="+x+",y="+y);//7/1  
  
         }  
  
}  
  
6.位运算符  
  
6.1<<左移运算符  
  
/* 
 
位运算符: <<>> >>> & | ^ ~ 
 
*/  
  
class Text8{  
  
       publicstatic void main(String[] args){  
  
              int a=31;  
  
              int b=a<<2;  
  
              System.out.println(b);//124  =31*4  
  
  
              System.out.println(2<<3);//16  
  
  
              System.out.println(31<<28);//-26843546  
  
       }   
}   
  
   
6.2>>  >>>右移  
  
a=-31;  
  
              b=a>>2;  
  
              System.out.println(b);  
  
              b=a>>>2;  
  
              System.out.println(b);  
   
6.3位运算   
    
6.4~取反   
   
  
7.实例1:(交换位置)  
  
class Text9{  
  
       publicstatic void main(String[] args)  
  
       {  
  
              int m=12;  
  
              int n=5;  
  
              System.out.println("m:"+m+"n,"+n);  
  
              int temp =m;  
  
              m=n;  
  
              n=temp;  
  
              System.out.println("m:"+m+"n,"+n);  
  
               
  
              m=m+n;//m=17;  
  
              n=m-n;//12=17-5  
  
              m=m-n;//5=17-12  
  
              System.out.println("m:"+m+"n,"+n);  
  
               
  
              m=m^n;  
  
              n=m^n;  
  
              m=m^n;  
  
              System.out.println("m:"+m+"n,"+n);  
  
       }  
  
}   
    
8.三元运算符  
  
/* 
 
三元运算符 
 
(条件表达式)?表达式1 :表达式2 
 
返回一个结果 
 
结果的数据类型取决于表达式1.表达式2的数据类型 
 
两个表达式的数据类型要一直 
 
*/  
  
class Text10{  
  
       publicstatic void main(String[] args)  
  
       {  
  
              int i=20;  
  
              int j=20;  
  
              //取出最大值  
  
              String max=(i>j)?"i大":(i==j)?"相等":"j大";  
  
              System.out.println(max);  
  
       }  
  
}   
   
三元运算符的格式:  
  
(条件表达式)?表达式1:表达式2;  
  
为true,运算后的结果是表达式1;  
  
为false,运算后的结果是表达式2;  
  
表达式1和表达式2为同种类型  
  
三元运算符与if-else的联系与区别:  
  
       1)三元运算符可简化if-else语句  
  
       2)三元运算符要求必须返回一个结果。  
  
       3)if后的代码块可有多个语句  
  
class Text12{  
  
       publicstatic void main(String[] args)  
  
       {  
  
              //4,2,1  
  
              int a=13;  
  
              int b=12;  
  
              int c=5;  
  
              int max=0;  
  
              max=(a>b?(a>c?a:c):(b>c?b:c));  
  
                     System.out.println("max="+max);  
  
       }  
  
}  
   
  
10.程序流程控制  
  
顺序结构  
  
程序从上到下逐行地执行,中间没有任何判断和跳转。  
  
分支结构  
  
根据条件,选择性地执行某段代码。  
  
有if…else和switch两种分支语句。  
  
循环结构  
  
根据循环条件,重复性的执行某段代码。  
  
有while、do…while、for三种循环语句。  
  
注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素  
  
if-else语句应用举例  
  
class Text13{  
  
       publicstatic void main(String[] args){  
  
              int i=10;  
  
              int j=i+2;  
  
              System.out.println(j);//12  
  
              /*System.out.println(n); 
 
              int m=10; 
 
              int n=10;*/  
  
              //条件判断  
  
              int age=20;  
  
              if(age<=18){  
  
                     System.out.println("你好未成年");  
  
              }else{  
  
                     System.out.println("已经成人了,可以看成人电影了");  
  
              }  
  
   
  
              if(age<12){  
  
                     System.out.println("必须在父母的看护下");  
  
              }else if(age<22){  
  
                     System.out.println("可以谈恋爱,不可结婚");  
  
              }else if(age<35){  
  
                     System.out.println("可以结婚了,com on");  
  
              }else{  
  
                     System.out.println("啊啊啊");  
  
              }  
  
              int i=10;  
  
              int j=23;  
  
              int max=0;  
  
              if(i>j){  
  
                     max=i;  
  
              }else{  
  
                     max=j;  
  
              }  
  
              System.out.println("max="+max);  
  
              //三元运算符与选择结构可以互相转换  
  
              //在有返回值的情况下  
  
       }  
  
}   
   
例题1:  
  
从键盘输入小明的期末成绩。  
  
当成绩为100分时,奖励一辆BMW;  
  
当成绩为(80,99]时,奖励一个台iphone5s;  
  
当成绩为[60,80]时,奖励一本参考书;  
  
其它时,什么奖励也没有。  
  
import java.util.*;  
  
class Text15{  
  
       //如何从键盘输入  
  
       /* 
 
       1.导入java.util.Scanner类 
 
       */  
  
       publicstatic void main(String[] args){  
  
              Scanner s=new Scanner(System.in);  
  
              //调用方法,获取信息  
  
  
              //String a=s.next();  
  
              //4.操作  
              //System.out.println(a);  
  
              int score=s.nextInt();  
  
              if(score==100){  
  
              System.out.println("奖励一个BOMA");    
              }else if(score>80 &&score<=90){  
  
                     System.out.println("奖励一个IPone");  
  
              }elseif(score>=60&&score<=80){  
  
                     System.out.println("奖励一个参考书");  
  
              }  
  
              else{  
  
                     System.out.println("什么都没有");  
  
              }  
  
       }  
  
}  
  
   
  
 例题2:  
/* 
 
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿, 
 
当然要提出一定的条件: 
 
高:180cm以上; 
 
富:财富1千万以上; 
 
帅:是。 
 
如果这三个条件同时满足,则:“我一定要嫁给他!!!” 
 
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。” 
 
如果三个条件都不满足,则:“不嫁!” 
 
*/  
  
import java.util.*;  
  
class Text17{  
  
       publicstatic void main(String[] args){  
  
              boolean a=false;  
  
              boolean b=false;  
  
              boolean c=false;  
  
              System.out.println("输入:高:180 Y/N");  
  
              a=new String ((newScanner(System.in).next())).equals("Y");  
  
              System.out.println("输入:富: 100000 Y/N");  
  
  
              b=new String ((newScanner(System.in).next())).equals("Y");  
  
              System.out.println("输入:帅: Y/N");  
  
              c=new String ((newScanner(System.in).next())).equals("Y");  
  
              if(a&&b&&c){  
  
                     System.out.println("我一定要嫁给他!!!");  
  
              }else if(a|b|c){  
  
                     System.out.println("嫁吧,比上不足,比下有余。");  
  
              }else{  
  
                     System.out.println("不嫁!");  
  
              }  
  
          }  
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值