`
羽风之扬
  • 浏览: 83878 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第三课

阅读更多
目标
   掌握 Java 基本的语法---注释、标识符、变量、类型
   掌握 Java 语言中的运算符、流程控制语句
   难以避免的语法陷阱
   掌握 Java 中如何进行内存操作(重点)
  
1、掌握 Java 基本的语法---注释、标识符、变量、类型
   注释                      添加注释     取消注释
   单行注释://              Ctrl+/        Ctrl+/
   多行注释:/*     */       Ctrl+Shift+/  Ctrl+Shift+\
   文档注释:/**    */
   使用javadoc命令建立HTML格式的程序文档
javadoc [options] [packagenames] [sourcefiles] [@files]
---------------------------------
   1,什么是标示符?
   在java语言中用来给一个类、变量或方法命名的符号
2,标示符的命名规则:
    以字母, “_” 或 “$”符号开头
    可以包含字母、 “_” 、“$”和数字符号
    大小写敏感
    不能与保留关键字冲突
    没有长度限制
---------------------------------
关键字列表:
abstract     boolean     break     byte     case  
   catch     char    class     continue     default
   do      double  else     extends     enum    
   false      final       finally  float      
   for      if    implements     import   
   instanceof   int      interface     long     
   native      new     null   package     private 
   protected    public    return   short  static   
   super     switch     synchronized     this   
   throw    throws    transient    true    try   
   void     volatile   while
Java 中   true   false  不是关键字,而是boolean类型的字面量
保留字:const,goto
所有的关键字都是小写,friendly,sizeof不是java的关键字
---------------------------------
数据类型
Java 中只有两大数据类型,
一 用于科学计算的“原始”(基础)数据类型;
  byte(8)    short(16)     int(32)        long(64)
  float(32)   double(64)   char(16)       boolean
 
  (1)int 类型如何在内存中存储
  int num = 5; //分配 32bit 空间?,需要转化为 二进制后存储
  5 ==>4+1=2(2次方)+2(0次方)==>...0000 0000 0000 0101
  (2)char 与 String
  刘 <==(一个中文对应两个 Unicode 码)==>\ufffd\ufffd
  一个 char 类型可以存储一个中文,因为 char 类型长度
0--65535 ,存储中文必须加 单引号 ''
   char name = '刘';  <===>char name='\ufffd\ufffd';
  (3)char 类型与 int 类型可以通用,因为每个 char 都有
一个 Acsii 表中的整数对应。
  char c='a';
  int n =c+16; //113 也可以是 'q'
 
  原始数据类型,从计算机刚刚出现有已经存在,相对计算机
的发展史,算得上原始。
  这些原始数据类型不是对象,没有对应的方法可以调用。

二 用于 Java 面向对象编程的 引用数据类型;
  引用数据类型(reference type)

---------------------------------
转义字符,一般情况下,不方便直接输出的内容,比如 换行
、双引号、tab制表符
转义字符 描述
\ddd 1到3位8进制数所表示的字符(ddd)
\uxxxx 1到4位16进制数所表示的字符(xxxx)
\’ 单引号字符
\’’ 双引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格

\u 代表十六进制数   \ufffd  
\d 代表八进制数 

int ia = 0x55; //十六进制
int ib = 011;   //八进制
byte bb = 0x771;
byte ba = (byte)0x771;
long la = 1234567L; //十进制
进制转换:
(1)默认可以从低位直接转向高位,不丢失精度;
(2)从高位到低位转化,需要强制声明,可能会丢失精度
---------------------------------
1,正整数,存储该数字的二进制原码。
2,负整数,存储该数字的二进制补码。
  
正整数 
short a=57;
0000 0000 0011 1001  二进制整数,最前面的 0 是符号位
  2(5)+2(4)+2(3)+2(0) = 57

  负整数 ,二进制符号位要变为 1,
  1111  1111 1100 0110  对正整数,按位取反,把符号位变为 1
 
  -按位取反,二进制转化为十进制计算,得到结果
 
 
  

2、掌握 Java 语言中的运算符、流程控制语句
   Java 中运算符与其他语言一直
  
   ^ 异或:同真、同假 ,结果为真;
  
   5^2=8
   0101
^ 0010
-------
   1000  2(3)=8   
  
   int a=5; int b= 4;  ==> a=4;b=5;
   不用第三个变量,交换两个变量的值。
   (1)常规做法,第三变量 c=a;a=b;b=c;
   (2)用加法  a=a+b; b=a-b; a=a-b;
   (3)用异或  a=a^b;  b=a^b;  a=a^b;

--------------------------------
分支语句:if-else, switch-case
2循环语句:for, while, do-while
3    循环跳转语句: break, continue, label:

break
(1)不带符号
int n=13;
boolean flag=true;
for(int i=2;i<=n/2;i++){
    if(n%i==0){
          flag=false;
          break;  //只中断一层循环
    }
}
System.out.println(n+(flag?” is”:”is not”)+
” a prime number”);

(2)带符号,可以跳转到任意层次的循环中
first:for(int j=0;i<10;j++){
for(int i=2;i<=n/2;i++){
if(n%i==0){
  flag=false;
  break first;
}
}
}


3、难以避免的语法陷阱
   (1)对 API 掌握不够详细
   (2)对细节不够注意
   (3)主观判断错误
  
  

4、掌握 Java 中如何进行内存操作(重点)

程序运行时,JVM 中的内存分配
----------------------
三 堆区:创建的对象    |
  |
----------------------
二 栈区:程序中的变量 |
  |
----------------------
一 代码块:Java代码   |
                      |
----------------------














  
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics