欢迎软件行业的同仁们来参观讨论!

JAVA基础之二

上一篇 / 下一篇  2013-10-10 21:27:33 / 个人分类:JavaSE

复习:
Java的版本:
JavaSE 标准版  Java应用程序   五子棋 计算器 
                                  C/S管理系统
JavaEE 企业版  Java企业级应用  B/S
JavaME 微型版 逐步被Android取代


Java术语:
JDK  Java开发工具包   JDK6.0 for Windows 32bit 
JRE  Java运行环境  
JVM Java虚拟机
GC   Java内存垃圾收集机制  lazy 懒惰  影响性能
API  应用编程接口
      JDK提供的类库:   
         java.lang.String类   字符串类
         java.lang.System类  系统类 
IDE  集成开发环境    MyEclipse8.5


Java程序开发步骤:
1、下载并安装JDK6
2、配置环境变量
 JAVA_HOME  JDK的安装路径  供第三方的软件使用
 PATH     命令的搜索路径   
            能在任何目录下使用javac java
 CLASSPATH  类的搜索路径  . JVM能在当前目录下找类


3、编辑  Java源程序   Hello.java
4、编译  javac  Hello.java  ->  Hello.class 字节码文件
5、运行  java  Hello


Java注释:
1)单行注释  //
2)多行注释  /*    */
3)文档注释  /**   */


人/月 描述项目的规模
30人/月
  1人  30月
  30人  1月
  5人   6月
 每个人每天写10个类  每个月20天  6个月
 一共开发了多少个类class文件
5*10*20*6 = 6000个类


一、Java 包  package
包,类似于平时的目录
可以让我们的.class文件 类 分门别类存放
关键字:package
语法:在Java源文件的第一行有效代码定义包
package  包名;
比如:package day01;


包名的规范:公司域名.项目名.模块名.子模块名
package com.tarena.javase.day01;
 表示达内公司 javase课程 的 第一天的代码
Hello.class文件的位置:
com\tarena\javase\day01\Hello.class 


包的优点:
1) 能够分门别类存储类
2) 保证一个类的全球唯一性
类的全名:包名.类名
    com.tarena.javase.day01.Hello


package day01;
public class Hello{   //类全名:day01.Hello
}


IBM公司,开发员工管理系统ems  一个员工类:
package com.ibm.ems.entity;
public class Emp{
}


www.bypp.com   cms    Duck
package com.bypp.cms.entity;
public class Duck{
}


编辑时:如果给程序加了包:
package day01;
编译时:
javac  -d  .  Hello.java
-d选项有两层含义:
1)能指定编译后存放位置  .  代表存放当前目录下
     day01\Hello.class文件 位于当前目录下
2)只要起了包名,能够自动将class文件存于相应的目录层次中。day01\Hello.class
运行时:必须明确指定包名.类名
java  day01.Hello
如果包名 package com.tarena.javase.day01;
编译方式不变,运行时:
java  com.tarena.javase.day01.Hello


使用MyEclipse8.5 开发Java程序
打开后,可以选择工作区 D:\Workspaces  
表示以后项目、源代码等资源的路径
1.创建Java项目 (Java Project) Java工程
 File -> New -> Java Project
 Project name: javase  
 填完项目名称后  Finish 完成
2.在javase工程的src目录下创建Java程序
 右击src -> New -> Class
 起包名  Package:  day01
 起类名  Name:     MyInfo
 Finish 完成
3.改变编辑环境
 修改字体
 Window -> Preferences -> General -> Appearance
 -> Colors and Fonts
 Basic -> Text Font  双击 编辑
 字体:Courier New 或 Comic Sans MS
 字形:粗体 Bold
 大小:14或16
显示行号:行首灰色条部分 右击
        Show Line Numbers
编译代码后,只需保存就可编译.
ctrl + s   保存即编译
如果编译不通过,会在相应的代码行出现红色下划线
此时,可以查看编译的错误提示:
  鼠标指针移到行首的红色叉子 就会提示错误消息
  根据错误的消息进行修改。
string cannot be resolved to a type
  系统不认识string这种类型 改为String
Syntax error, insert ";" to complete BlockStatements
  语法 错误    插入   ;  结束一行代码


如果编译后没有红色的提示,表示编译通过。
如何运行?
在代码的任何位置 右击 -> Run As -> Java Application


需求:从控制台提示并输入两个值:名字 和 年龄
   程序中使用name和age变量来接收保存
   最后再打印输出以上两个变量的值。


可以使用java.util.Scanner类 (JDK中的API)
             工具包
  扫描器类,可以从控制台接收数据
  首先需要创建扫描器类的对象sc:
  Scanner sc = new Scanner(System.in);
    System.out  系统标准输出流   控制台
    System.in   系统标准输入流   显示器 控制台
 打印并提示用户输入数据。(友好的交互行为)
  next和nextInt方法都是阻塞方法
  一定执行此处,会等待着用户的输入,直到用户输入数据并且敲回车后,才接收数据,并继续往下执行
  String name = sc.next();  接收String类型
  int age = sc.nextInt();    接收int类型
 最后可以输出name 和 age变量值


包名:day02
类名:TestScanner


Multiple markers at this line
- Scanner cannot be resolved to a type
- Scanner cannot be resolved to a type


二、标识符  identifier
能够作为包名、类名、变量名、方法名等
只要是JDK中或自己起的名字,都属于标识符
 day01  day02  HelloWorld  String  name  main


1、标识符的规则 5条  必须遵守  否则编译无法通过
(1)由字母(大写、小写)、数字、下划线_、$组成
       但首字母不能是数字
   合法的:abc123  _abc   $123  Hello123
   不合法:1abc  @123
(2)不能是Java关键字  50个 + 3个字面值
    关键字:class  int   static  public ...
              全部小写
    字面值:true 真   false 假     null 空
(3)区分大小写 (大小写敏感 Case Sensitive)
   合法的:Int   Hello  hello
   不合法:int
(4)长度没有限制
   ArrayIndexOutOfBoundsException
      数组下标越界异常
   MyFirstJava
(5)支持中文,但不推荐使用 (避免中文编码问题)
  int 年龄 = 23;  不推荐 
  int age = 23;   推荐


2、标识符的规范 5条  业内习惯 建议遵守
(1)类名、接口名每个单词首字母大写
   HelloWorld   MyFirstJava  TestScanner
   String   System  Scanner
(2)变量名、方法名第一个单词首字母小写,之后的每一个单词首字母大写
  String myFirstName = "Tom";
  int myAge = 21;
  public void playGame()
  public int nextInt()
(3)包名全部小写,包之间使用 . 分隔
package com.tarena.javase.day01;
package java.lang;
package java.util;
(4)常量全部大写,单词间使用下划线分隔
public static final int MAX_AGE = 180;
public static final double PI = 3.1415926535897932;
(5)见名知意
 name   age   myHobby
 n1  a1  m1


三、Java关键字  keywords  JDK5.0以后 50个
参考keywords.txt ,具体内容后续逐步讲解
共同特点:全部小写
其中有两个保留字:goto  const
附加记忆三个字面值:true  false   null


四、Java数据类型  (重点)
1、在现实生活中如何表示数?
 0 1 2 3 ..9 10 11 ...19 20 .. 100 ... 1000
 十进制数    一而十 十而百 百而千    1+999 = 1千
 逢十进一


2、在计算机中如何表示数?
 二进制数  逢二进一
 计算机只认识两个状态:0  和  1 


使用4位二进制数表示:2^4=16种数据  0~15
        0~ 2^4-1

8421
0000   0
0001   1
0010   2
0011   3
0100   4
0101   5
0110   6
0111   7
1000   8
1001   9
1010   10
1011   11
1100   12 = 8+ 4    1100
1101   13
1110   14
1111   15


2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024     约等于1K  千
2^11 = 2048
2^12 = 4096
...
2^15 = 32768
2^16 = 65536


使用8位二进制数表示:2^8=256种数据  0~255
        0~ 2^8-1
权:
128 64 32 16 8 4 2 1
0000 0000   0
0000 0001   1
0000 0010   2
0000 0011   3
...
0001 0000   16
...
0100 1100   76 = 64 + 8 + 4
...
1001 1101   157 = 128 + 16 + 8 + 4 + 1
...
1111 1110   254
1111 1111   255


3、Java中如何表示数?
使用二进制数的补码形式
分为正数和负数:
 使用最高位(最左边)作为符号位:0表示正数 1表示负数
 正数的补码:原码
 负数的补码:正数的原码,按位取反+1


四位二进制数补码:2^4=16种  -8~7  -2^3~2^3-1
0111  7
0110  6
0101  5
0100  4
0011  3
0010  2
0001  1
0000  0
1111  -1
1110  -2
1101  -3
1100  -4
1011  -5
1010  -6
1001  -7
1000  -8


   0001
   1111 +
  --------
   0000   0


四位二进制数补码:2^8=256种  -128~127  -2^7~2^7-1
0111 1111  127          
...
0000 0010  2
0000 0001  1
0000 0000  0
1111 1111  -1
1111 1110  -2
...
1000 0000  -128


翻译:-5的二进制数补码

TAG:

 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 39472
  • 日志数: 55
  • 建立时间: 2013-08-30
  • 更新时间: 2013-12-27

RSS订阅

Open Toolbar