`
java_hanyu
  • 浏览: 71485 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

core java学习笔记(一)

阅读更多

1、Java之父Golsling

   1995年5月23日  Java诞生
   1998年12月     1.2版本  Java2   J2SE J2EE J2ME 
   2004年12月     1.5版本(5.0)  Java    JavaSE JavaEE JavaME
  
2、Java SE --- Java标准平台  
   Java EE --- 企业级平台
   Java ME --- 微小平台,用在资源受限的平台上

3、java的特点:

 1、java是一种纯面向对象的语言

 2、跨平台:一次编译,到处运行(write once,run anywhere)

   编译
  .java--------->.class(字节码)

   解释
  .class-------->可执行文件

   java虚拟机(JVM):由虚拟机处理操作系统之间的差异,实现跨平台
    _________
   |         |
   | 解释器  |
   |_________|
          |  JVM    |
   |_________|
   |  OS     |
   |_________|
 
 3、简单高效
 
4、第一个程序(课堂代码:A.java)
 
 文件名:A.java
 
 class HelloWorld{
  public static void main(String[] args){              //public 与 static 的位置可以交换,其它的不可以换位也不可以省略
   System.out.println(12);
   System.out.println("HelloWorld");
  }
 }
 
 class Welcome{
  public static void main(String[] args){
   System.out.println("Welcome");
  }
 }

 编译:javac A.java        javac  文件名
 解释:java HelloWorld     java  类名

 注意:一个源程序可以有多个类,一个类对应一个.class文件
            如果一个源文件中有公开类,则源文件的文件名必须与公开类的类名完全同名(大小写也要相同)
       一个源文件中至多只能有一个公开类

5、环境变量的设置
 
 JAVA_HOME=/opt/jdk1.5.0_06      指向java的安装目录
 PATH=$JAVA_HOME/bin:$PATH       指向安装目录下的bin子目录
 CLASSPATH=.                     类路径
 export JAVA_HOME CLASSSPATH 

windows下:我的电脑--->属性---->高级----->环境变量

 path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Rational\common;C:\Program Files\Java\jdk1.5.0_09\bin
 CLASSPATH=.;C:\Program Files\Java\jdk1.5.0_09\lib\tools.jar

**6、包的概念:(课堂代码:HelloWorld.java)  
  
 文件多了用文件夹管理,类多了用包来管理,包和目录的结构一一对应

 关键字package   例package p1; //p1是包名

 编译时javac -d . HelloWorld.java    按照包结构生成.class文件,若目录不存在,会自动创建
 
 运行时 java p1.HelloWorld        注意:运行时要使当前目录要在p1的上一级,不能进入p1目录下运行
 
 
 引入哪个包里的哪个类:关键字import 
  
  import p6.p7.p8.Welcome;   声明以下用到Welcome时不带包名
  
  import p6.p7.p8.*;    *表示p6.p7.p8包下的所有类,不能表示子包

  import java.lang.*;  用到java.lang下的类可以不写这句话,这是默认的
 
 注意:
  package
  import
  class
  这三个顺序是不可改变的

 习惯上:加包,加注释,换行,缩进

7、注释
 单行注释://
 多行注释:/*.....*/
    /**.....*/  这个也是多行注释,但编译时会把这种注释抽出来放在html中做成帮助文档
   有这种注释在编译时要用:javadoc -d doc 源文件名  
   把生成的帮助文档放在doc目录下,生成的帮助文档就是doc目录下的index.html文件
   这种注释修饰方法时放在方法前,修饰类时放在类前
8、标识符
 
 只能包括字母,下划线,$ , 数字,但数字不能开头,区分大小写,关键字不能做标识符

 一个汉字就是一个字母,汉字也可做标识符,但习惯上不用
 
 包名也是标识符
 
 java的关键字都是小写字母,幻灯片44的关键字

 关键字 assert  1.4添加的
  enum 1.5添加的

 goto , const 是保留字,java中不能使用
 
 true , false 不是关键字,是布尔类型的字面值
 
 习惯上:包名---- 全是小写字母
  类名---- 每个单词的首字母大写,其它的都是小写
  变量名、方法名------- 第一个单词都是小写,第二个单词及以后的每个单词首字母大写
  常量------ 全大写
9、变量
 
 局部变量:在方法内定义的变量
    (1)一定要先赋值后使用
    (2)作用范围:从定义开始到定义它的代码块结束 
    (3)在重合范围不允许两个局部变量命名冲突

10、数据类型  (课堂代码:TestDataType.java)
 
 基本类型:8种

  (1)与整型相关的:byte     1B     -128~127   
                    
    byte a=1;byte b=2; byte c=a+b;  //error!!! 因为a+b后自动把类型提升为int,把4个字节的赋给低
    正确写法: byte c=(byte)a+b;

     short    2B     -32768~32767
     int      4B     -2147483648~2147483647
     long     8B     -2的63次方---2的63次方-1       字面值+l或L

  (2)与浮点数相关的:
    float     4B     赋值时加f
    double    8B     赋值时加d
    
    float f=1.3; //error!  默认为double

  (3)布尔值: boolean   1B  字面值 true,false   意味着布尔值和整数不能转换       if(1)  //error!!!!

  (4)字符型:char      2B  采用unicode编码   

   char c='a';  char c=97; 
   
   char c='\u0061' -----unicode码值(16进制) 1个16进制表示2个字节

 对象类型 
  
  字符串:String  str="abc";
   a+b 若有一方为字符串,则为字符串连接
    "1"+2+3   结果是"123"
    1+2+"3"   结果是"33"


11、类型自动提升:

  a ? b     //两个数进行运算

  switch(a,b类型){
   case double: 结果 double;     //先看有没有一个是double 结果就是double
         break;
   case float:  float;           //先看有没有一个是float 结果就是float
         break;
   case long:   long;            //先看有没有一个是long 结果就是long
         break;          
   default:  int;break;          //不满足上述三条则结果为int
  }
 
  byte a=10;
  a=a+10; //error  有自动类型提升
  a+=10;   没有自动类型提升

12、运算符(TestOperator.java)
 
 / 两个整型相除结果为整型  例: 5/2=2   5.0/2=2.5

 计算机采用的是补码
 
 >>  有符号右移1位,最高位用符号位
 <<  有符号左移1位,最高位用符号位

 >>>  无符号右移,不管之前是正数是负数,移完以后都是正数

13、流程控制
 (1)控制流
      if()
      if()….else
      if()…..else if()….else

      注意:else只是和其上面的同层的最近的if()来配对。

 (2)switch(s){
         case 'a':……break;
          case 1:……break;
          default:....break;
           }
      注意:switch()内数据类型为byte short char int类型,只有以上四种类型的才可以在switch()中使用。
            case块中不加break时顺序执行下面的语句。  
         
 (3)循环语句

     for(int i=0;i<n;i++){}  ---- 知道循环次数时最好用for循环

  不知道次数知道循环条件最好用以下两个
     while(){}               ---- 循环0或多次
     do{} while();-----------注意加分号  循环1或多次
         
  

  


  

  


 
 
 
 
 
 
 
 
 
  
 

 

分享到:
评论

相关推荐

    CoreJava学习笔记

    ### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...

    达内core_java学习笔记

    Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。

    corejava学习笔记

    Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...

    Java学习笔记及心得

    ### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...

    Core Java 学习笔记

    《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...

    corejava学习笔记.doc

    Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。

    core java 学习笔记

    这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection是所有集合类的顶级接口,它定义了一些基本的操作,如添加元素(add)、获取元素数量(size)、...

    达内java学习笔记全套

    【Java学习笔记全套】是针对Java编程语言的一套全面学习资料,涵盖了Unix操作系统基础、SQL数据库操作、核心Java编程、Hibernate持久化框架、以及Spring框架等多个关键知识点。这些笔记旨在帮助初学者系统地掌握Java...

    CoreJava学习笔记.doc

    《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...

    学习笔记 java\CoreJava笔记\CoreJava_day12

    在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...

    学习笔记 java\CoreJava笔记\CoreJava_day11

    CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...

    java学习笔记(corejava)部分.rar

    这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...

    达内COREJAVA学习笔记.doc

    ### 达内COREJAVA学习笔记知识点详述 #### 一、Java版本与平台概述 - **J2SE**: Java Standard Edition,即Java标准版,针对桌面应用开发。 - **JAVA SE**: 指的是Java SE 5.0,发布于2004年,增加了泛型、枚举等...

    学习笔记 java\CoreJava笔记\CoreJava_day06

    在Java编程语言中,继承是面向对象编程的一个关键特性,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在Java中,类的继承是单继承的,即一个子类只能有一个直接父类,但可以通过接口实现多继承的效果...

    CoreJava卷一学习笔记

    自己学习corejava核心技术卷一时的学习笔记和心得,提出的一些问题

    java学习笔记 达内笔记(经典)

    (二)面向对象技术总结.pdf (三)corejava高级特性总结 (四)接口学习总结 (五)异常和内部类 (六)集合框架学习总结 (七)GUI和AWT事件模型 (八)多线程学习总结 (九)输入输出流学习总结 (十)网络编程学习总结

    学习笔记 java\CoreJava笔记\CoreJava_day15

    这些只是Core Java中的一部分内容,实际的学习笔记可能还会涵盖更多的细节,如枚举常量的使用、IO流的缓冲、线程池的创建、集合的遍历策略、序列化等。深入理解和熟练掌握这些知识,将为成为一个优秀的Java开发者...

Global site tag (gtag.js) - Google Analytics