javase知识点 ----1(基本数据类型、简单语法、运算符)

1、3个技术:javase javaee javame
2、两个时间点:1995年sun公司推出   2009年被oracle公司收购
3、语言特点:跨平台  解释执行  面向对象  支持多线程编程  鲁棒性  自动垃圾回收  相对容易
4、jdk和jre的关系:jdk=jre+开发工具包
                   jre=jvm(虚拟机)+核心类库
5、环境搭建:1、默认安装jdk
             2、配置环境变量  新建JAVA_HOME= C:\ProgramFiles\Java\jdk1.7.0_02      修改 path=C:\Program Files\Java\jdk1.7.0_02\bin
             3、打开dos窗口输入命令 javac   java -version--查看jdk的版本号
6、第一个java类:1.编写.java源文件  2、编译成.class文件(使用javac.exe)  3、运行(使用java.exe工具)
   注意:1、Java的源文件均为.java文件
         2、一个Java文件中可以有多个类,但是通常建议为一个
         3、.java文件名必须与public类名同名,如果类不是public,文件名可以不与类同名,但是不建议如此
         4、一个Java类如果需要运行,必须有符合规范的main方法,即public static void修饰的main方法,参数为String[]。
         5、main方法是程序的主入口。
7、转义符  \n--将光标移动到下一行的第一格   \t--将光标移到---下一个水平制表位置 

--------------------------------------------基本数据类型--------------------------------------------------------

1、变量:
   定义:java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
   声明形式:数据类型  变量名【=变量值】
   注意:每一个变量使用前必须要先申请(声明),然后必须进行赋值,才能够使用。
2、成员变量和局部变量以及作用域
   局部变量:方法内部声明的变量(包括参数)称为局部变量
   成员变量:在方法外,类体内声明的变量叫做成员变量
   作用域:凡是在大括号里面声明的变量,出了大括号就没人认识它了     
3、程序执行的内存分析:参照ppt

4、数据类型分为基本数据类型(4类8种)和引用数据类型(除了基本数据类型都是引用数据类型)
   基本数据类型:
        //整型:如果一个整数就用int;默认值为0
    byte b = 127;   //byte的取值范围--     -128~127   8位  1字节
    short s = 128;  // -32768 ~ 32767   16位   2字节
    int i = 1;   //32位   4字节
    long l = 13214113515311L;  //64位    8字节  结尾处加L
    
    //浮点型:如果要声明小数用double类型 ;默认值0.0
    float f = 2.3f;  //32位,4字节   结尾处加f
    double d = 2.3;//64位  8字节
    
    //字符型  一个英文和字母各占1个字节,汉字占2个字节。 默认值:\u0000等同于一个空字符
    char c1 = 'a';//16位  2字节  无符号位  取值范围:0~2^16-1  采用unicode编码
    char c2 = '男';
    int c3 = 'a'+'b';  //195。//195没有超出int范围,直接输出195。
    char c4 = 'a'+'b';   //char类型相加,提升为int类型,输出对应的字符。注,在CMD.exe用输出结果是问题?,不同的编码输出显示不一样。Eclipse中须改成UTF-8。 
    char c5='a'+1;  //提升为int,计算结果98对应的字符是b。
    System.out.println(c5);
    //布尔类型   默认值:false
    boolean bl = true; //8位 1字节   只有true或者false

   类型转换:低精度转成高精度---自动类型转换(隐式转换)
             高精度转成低精度---强制类型转换(显示转换)

---------------------------------------------简单语法-----------------------------------------------------

1、代码规范
    1、写代码一定加注释
    2、加空格 eg:=两侧     方法之间或者逻辑段之间要加空白行
    3、标识符的命名一定要规范--- 一定要用英文命名
    4、写代码要注意格式化,尤其是缩进
2、注释
   1、//    单行注释   快捷键 ctrl+/
   2、/* 多行注释    快捷键 shift+ctrl+/ */
   3、/**
   * 文档注释
   * @Title: main?
   * @Description:? 
   * @param args void
   */
3、标识符命名规则
     1、必须由字母、数字、下划线和$符号组成
     2、不能以数字开头
     3、不能使用系统关键字和保留字
     4、不能使用空格来分隔
     5、使用驼峰命名法  从第二个单词开始首字母大写  eg userNamePwd
     6、类名:首字母大写,驼峰命名法   eg:MyOrder
       变量名: 首字母小写,驼峰命名法   eg: userName
       方法名:首字母小写,驼峰命名法    eg:getUserName()
       常量:全部大写
       接口:首字母大写,驼峰命名法

----------------------------------------运算符------------------------------------------------

1、运算符分为算术运算、位运算符、比较运算符、逻辑运算符
2、算术运算符:+(不仅是+运算还可以拼接字符串) - * /(求商) %(取余数) ++(自增1) --(自减1)
              eg:int c = a++; // a++ 先赋值再自身加1 3    int d = ++a; // ++a 先自加1 再赋值 5
              三目运算符 a>b?true:false 如果a>b就执行冒号左侧的操作,否则执行右侧的操作   eg:int g = a > b ? a + b : a - b;
              注意:1、 System.out.println(3.0/0);  结果:Infinity(无穷大)常量
                    2、System.out.println(3.0/0.0);  结果:NAN
3、Scanner类位于java.util包中    作用:使用此类获取控制台输入
   使用步骤:1、使用控制台输入创建Scanner对象   System.in--标准输入  eg:Scanner sc = new Scanner(System.in);
         2、调用Scanner中的nextXXX方法,获得需要的数据类型。nextDouble() 获取小数   next()和nextLine()获取字符串类型   
                eg:int num = sc.nextInt();  //接收控制台输入的int类型数据  
4、位运算符
             &:按位与  两位同时为1才返回1
       *   5:0000... 0101
       *   9:0000... 1001
       * 5&9:0000... 0001    1 
       * 
       * |:按位或,只要有一位为1即可返回1 
       *   5:0000... 0101
       *   9:0000... 1001
       * 5|9:0000... 1101  13
       * 
       * ~:按位非,将操作数的每个位(包括符号位)全部取反。
       *    正数的原码反码补码相同的
       *    负数的反码:是按位取反(除符号位)  补码:反码+1
       *    原码:0000... 0101
       *    反码:0000... 0101
       *    补码:0000... 0101
       *  ~5取反:1111... 1010
       *    反码:1111... 1001  补码-1
       *    原码:1000... 0110  反码出符号位取反   -6
       *    ---------------------------------
       *    原码:1000 ... 0101
       *    反码:1111 ... 1010
       *    补码:1111 ... 1011
       * ~-5取反: 0000 ... 0100
       *    反码:0000 ... 0100
       *    补码:0000 ... 0100
       *    原码:0000 ... 0100    4
       *    
       *    ^:按位异或,相同返回0,不同时返回1
       *    5:0000... 0101
       *    9:0000... 1001
       *  5^9:0000... 1100  12
       *  
       *   >>(有符号右移): 8>>2 ======== 8除以2的2次幂===相当于===左操作数除以2的右操作数次幂    结果2
       *       <<(左移):  8<<2======== 8*2的2次幂===相当于===左操作数*2的右操作数次幂   结果32
       *
       *
       *
       *   ~1 结果-2
       *   原码~补码:0000 0001
       *            1111 1110
       *            1111 1101
       *            1000 0010       

5、比较运算符    == != > >= < <=
   注意: 1、==与!=比较基本数据类型是比较值,比较引用类型是虚地址 (比较两个字符串是否相等使用equals方法)
          2、除了==  !=外,都只能比较基本数据类型
          3、比较运算符的返回值为true或false   
6、逻辑运算符
   1、&&和& :全真为真 有假为假
   2、||和|:全假为假,有真为真
   3、&&与&的运算结果是相同的,对于&而言无论左边无论是什么值,右边都参与运算;对于&&来说,只要左边为false右边就不再运算,直接返回false ; ||和|同理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值