java入门基础总结

==================================================================
1.java入门 
  1 操作系统 
     专业操作系统 unix --- linux 7*24
     1 稳定 安全
     2 多用户 多任务 操作系统  
     3 服务器(高性能计算机)IBM power  Oracle 
       用户(键盘 鼠标 显示器)-------  服务器               
     个人用户操作系统 --- windows 
     
     
     unix/linux 
     特点:
        1 每一个用户对应一个自己的文件夹
          主目录(home目录) 
        2 权限 
        3 linux/nuix 文件
        
     unix    
     oracle : solaris / linux  
     ibm    : AIX  
     HP     : HP unix     
     
     linux  
     红帽子 : redhat linux 6.0  
     SUSE   :  
------------------------------------------------------------------------------------------------------------------
2.java的发展史:

        1991年  sun Green
        1992年  james Gosling OAk
        1995年 java问世
        1996年 jdk1,0
        1999年 java 2发布(java se、java ee 、java me)
        2004年 Tiger发布,java登陆火星
        2009年 Oracle以超过70亿美元的交易总值收购了sun

java SE
包含了运行java应用所需要的基础环境和核心类库
定义了基于桌面应用的基础类库,通过使用这些类库,我们可以编写出类似于像Office那样的丰富多彩的桌面应用
java EE
java平台企业版
用于构建企业级应用,所谓企业级应用是指那些为商业组织、大型企业而创建的应用系统
java ME
java平台微型版  为机顶盒、移动电话和PDA等嵌入式消费电子设备提供的java解决方案。随着3G移动智能平台时代的到来特别是以java为核心编程语言的Android智能平台的迅速普及,java ME走向淘汰


          
-----------------------------------------------------------------------------------------------------------------
3.java的运行机制:
先编译,在解释,
Demo1.java------>先进性编译,demo1.class文件------>在逐行进行解释---->机械码----->虚拟机中进行运行
--->显示出来
编程语言历史:
(1)机械语言:直接跟硬件进行操作  01000101
(2)汇编语言:
(3)中级语言:c语言
(4)高级语言:java

计算机程序运行原理
图灵:苹果咬了一口,就死了,
.java------->.class文件  ------>机械码

-------------------------------------------------------------------------------------------------------------------
  4. java基础语法 
   
包 package 
   包 解决文件命名冲突的问题 本质 文件夹
   类的全限定名  suns.Test
               suns.test.Test
               zhangsan.Test
   JDK 中 SUN 公司提供的包 
   java.lang
   java.util
   java.io
   java.bean
                
   包的命名 : 原则随便 但是 包名不能用java.
   公司开发过程中 :本公司域名反写命名包   
   www.heima.com
   
   com.itheima
   
   www.apache.org
   
   org.apache
   
----------------------------------------------- ------------------------------------------------------------------- 
5.标示符 
   起名字 
   1 字母 数字 _  $  
     首位置不能使用数字
     public class B2{}
   2 java严格区分大小写
   3 不能使用java的关键字与保留字 
     package public class static void 
     
   约定俗成的习惯 
      类  首单词首字母大写 TestJava
      变量 一个单词全部小写 多个单词 首单词小写后续每一个单词首字母大写
          test  testJava
      方法 与变量一致 
      接口 与类一致
      常量  一个单词全部大写  多个单词 TEST_JAVA
      望文生义 public class A 
             public class Test
------------------------------------------------------------------------------------------------------------------
变量------内存中的一块存储区域
     1 程序运行在哪里? 内存里
     2 程序处理什么?数据
     
     数据必须要存储在内存中 

     变量  内存中开辟一个空间 用于存储数据 
     变量名  内存空间起的名字
     变量类型 
     
     变量3要素 
       1 变量类型 变量名 变量值 

变量是一个强类型(强类型是需要先定义)
作用域:java变量有其存在的范围,程序运行超出这个范围后,这个变量所占的空间将被收回,
同名变量,作用域不能重叠。
------------------------------------------------------------------------------------------------------------------
java的数据类型
8种基本数据类型
1.整数类型 int long byte short   (345l)
2浮点型  float(32)     double(64)21.1f
3.字符型 char(16)占两个字节
4.布尔型:boolean (true /false)

引用类型:(为了简化操作,sun公司或其他程序员写的类型)
String---对char的一种引申 
--------------------------------------------------------------------------------
整数  
       byte  -128---127  -2^7 -- 2^7-1 一个字节 8位
       short -32768--32767 -2^15 -- 2^15-1 两个字节 16位
       int  -2147483648--2147483647   -2^31--2^31-1 四个字节 32位
       long 八个字节 64位 -2^63--2^63-1

 转移字符 字符的原始含义改变 表达了新的含义 
         '\n'  换行 
         '\t'  退格
         '\\'  原样输出\
         '\"'    原样输出"
 '\r'
         '\''
         

变量类型

  1 基本数据类型 8种 
     计算机存储 5 10 100 200 十进制的数字    二进制的数字 0 1   
     10---2      
          5/2 = 2 余 1 
          2/2 = 1 余 0 
          1/2 = 0 余 1 
     2---10 
          101
          
          1*2(0)+0*2(1)+1*2(2) 
           1  + 0 + 4 = 5 
          
           
     
       
       注: 8进制 0开头       027
          16进制 0x开头     0X1F
          
       注:字面值:一种变量类型 可取的有效值 
       
       byte b = 127; 
       byte a = 128;
       long l = 100L;
                100l;
       
     浮点数(小数)   
       float(单精度浮点数)  4字节 
       float f = 10.2F;
       float f = 10.2f;
       
       double(双精度浮点数) 8字节
       double d = 10.2;
       double d = 10.2d;
       double d = 10.2D;
       
       注 
         1:用科学计数法表示
            double d = 3.14e10
            double d = 3.14e-10
            
         2: 丢失精度   
       
     布尔值   真|假 
       boolean
       
       boolean b = true;
       boolean b = false;
       
       boolean c = TRUE;
       
    字符  
       字面值3种方式 
       1
         char c = 'A';
       2 
         char c = 65;
         
       3 unicode编码   '\uxxxx'
       
         char c = '\u0041';


类型转换 
  自动类型转换 
  1 小类型的数据 ----》 大类型的数据    
   
     int i = 100;
     long l = i;

  2  运算过程中的类型提升  
      如果参与运算的双方 
      其中有一方为 int 其运算结果类型为int 
      其中有一方为 long 其运算结果类型为long
      其中有一方为 float 其运算结果类型为float
      其中有一方为 double 其运算结果类型为double
      剩下其运算结果为int 
      
      
      
  byte c = 1;
  byte d = c+1;
  
  int c = 1;
  int d = c+1;
Math.round(12.58);//四舍五入  
  
  char c = 'A';
  char d = c+1;
  
  
强制类型转换 
    short c = 10;
    byte e = (byte)c;  
    
        -127
    -128 --- 127 
    byte c = (byte)129;
    
        char c = 'A';
    char e = (char)(c+1);
    
    
    char e1 = 'A'+1;
    
    有变量参与的运算才会产生类型提升
    值的运算没有类型提升 
    
   
运算符
  1 赋值运算符 
     int i = 10;
  2 算数运算符 
    + - * / %(模|余) 
    
     int i = 10;
     int b = 20;
     System.out.println(i+b);
     
     int c = 10/20;
     整数/整数 = 整数 
     
     
     取余数 
     5%2 = 1 
     数字%2 == 0 

    += -= *= /= %=
    
    
    
    int i = 10 ;
    i+=2 差不多 i=i+2;
    System.out.println(i);

    byte i = 10;
    i+=2 ;
    System.out.println(i);
    
    
    ++ -- 运算符 
    i++  
    ++i
    对i都是为原有的变量值+1
    
    
    i++ 这个表达式的值为10 记法 i 原始的值 
    ++i 这个表达式的值为11     i+1 之后的值

    
    
    逻辑运算符  boolean 值 true false 
    &   true&true = true 
        true&false = false
        false&true = false
        false&false = false
        
    规律 :  & 一方为false 结果为 false     
         
    |   true|true = true
        true|false = true
        false|true = true
        false|false = false
    
    规律 : | 一方为true  结果为  true
    
    &&  短路与  V
        
        true&&true = true 
        true&&false = false
        false&&true = false
        false&&false = false
    
    ||  短路或
    
        true||true = true
        true||false = true
        false||true = true
        false||false = false 
        
        
        
        
        true&true = true  
        true&false = false
        false&true = false  
        false&false = false
        
        true&&true = true
        true&&false = false;
        false&&true = false;
        false&&false = false;
        
   比较运算符  比较运算其结果是boolean 
       >  <  >= <= == !=

---------------------------------------------------
    10进制 --- 2进制
    Integer.toBinaryString(十进制);
    
    10进制 --- 16进制 
    Integer.toHexString(十进制);

    如何获得用户输入的数字?  
    java.util.Scanner input = new java.util.Scanner(System.in);
    int num = input.nextInt();

----------------------------------------
    用户输入一个10进制数 ----> 2进制 
    
    1 如何获得用户输入的数字 
    2 如何把用户输入的10进制数字 ---> 2进制 
        Integer.toBinaryString();
    3 如何显示转换好了的2进制数 
        System.out.println();
        
    
    1 开平方 Method.pow();
    2 随机输出字母 Random r = new Random();
                 r.xxx();
   

表达式:变量|常量+运算符组成的式子  表达式值   
局部变量
String字符串 

--------------------------------------------------------------------------------
算术运算:
加(+) 减(-) 乘(*)除(/) 取余(%)
关系运算:
关系运算符  > < = 

逻辑运算: && || ! | &
短路与与非短路与的区别
短路或与非短路或的区别
首先名称是不同的
&&逻辑与  ||逻辑或  它们都是逻辑运算符
& 按位与  | 按位或  它们都是位运算符
if(a==1&&b==2) 这是说既要满足a=1也要满足b=2
if(a==1||b==2) 这是说或者满足a=1或者要满足b=2
而a&b或者a|b则是二进制的与或运算
&同为1时为1,否则为0
|同为0时为0,否则为1
3&5则
 0011
&0101
 0001
等于1

3|5则
 0011
|0101
 0111
等于7


&&逻辑与 也叫做短路与 因为只要当前项为假,它就不往后判断了,直接认为表达式为假
||逻辑或 也叫做短路或 因为只要当前项为真,它也不往后判断了,直接认为表达式为真


--------------------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值