zoukankan      html  css  js  c++  java
  • Java学习-第一天

      今天开始学习Java,看的是[毕向东_Java基础视频教程].因为没有书,将笔记写写在博客上可以备忘和记录学习里程。同时希望通过写博客的形式可以让自己学习Java更有动力。

      01day

      1.Java跨平台性

      Java的跨平台性的主要原因是因为java虚拟机(JVM)的存在。

      2.JRE和JDK

      JRE是Java运行环境,全拼是(Java Runtime Environment),JRE包括Java虚拟机和运行Java程序所需要的核心库。想要运行一个java程序,在计算机上安装JRE就可以了。

      JDK是Java开发工具包,全拼是(Java Development Kit),JDK是提供给Java开发人员使用的。其中包括了开发Java程序的所用工具,还包括JRE。

      3.doc系统命令

      cd 进入路径 cd..返回上层目录 cd 返回盘符 

      dir 列出当前目录 md 创建文件夹 kd 删除文件夹

      4.JDK环境变量配置

      

    //JDK安装路径
    JAVA_HOME C:Javajdk1.7.0_51
    CLASSPATH .;%JAVA_HOME%lib;%JAVA_HOME%lib	ools.jar
    path %JAVA_HOME%in;%JAVA_HOME%jrein;

      5.hello world  

    class Demo
    
      {
    
         static void main(String [] args)
    
        {
    
          System.out.println("Hello World");
    
        }
    
      }

      在命令行中通过javac编译后,然后 java Demo.class 就可以在doc控制台上打印一个Hello Wrld 了。

       

      02day 

      1.Java关键字

      Java关键字是被Java语言赋予特殊含义的单词。

      2.标识符

      标识符就是在程序中自定义的名称,这些名称由字母、数字和符号组成。标识符需要符合两个规则: 1.数字不可以在开头 2.不可以使用关键字

      在起名字时,为了提高代码的可阅读性,名字要尽量有意义。

      3.代码注释 

      // 注释一行 

       /*

                    注释多行

        */

      4.常量和变量

      常量就是不能改变的数值。在Java中常量包括整数常量、小数常量、布尔型常量、字符串常量、null常量。

      变量:就是将不确定的数据进行存储,也就是在内存中开辟一个空间存储数据。

      变量的定义:

      数据类型 变量名 = 初始化值;   eg. int i = 0;

      什么时候定义变量? 当数据不确定,需要对数据进行存储的时候就定义一个变量用来完成存储。

      在Java中数据类型包括:基本数据类型(byte、short、int、long、float、double、char、boolean)和引用数据类型(class、interface、[](数组))

       

        int x=4;
    
      byte b =2 //-128~127
    
      short s = 30000; //3W+
    
      long l = 4l;
    
      float f = 2.3f;
    
      double d = 24.46;
    
      char ch = '4';
    
      boolean bo = true;

      5.类型转换  

    class  D2Byte
    {
        public static void main(String[] args) 
        {
            byte b = 4; 
    
            //b = b + 5;
            b += 5;
    
            System.out.println(b);
            
            //b= b + 5; 编译不通过,这里是先经行加法然后赋值,相加以后会默认转化为int型。赋值的时候int型不能给byte型赋值。
            //b += 5;   编译通过,这里+=运算符会默认进行强制转换。
        }
    }        

      6.字符串拼接  

    class StringDemo
      {
        public static void main(String[] args) 
        {     
    
          string a = "LiMing";
    
            int b = 23;
    
          System.out.println("hello, "+a+" you age is"+b+".");
        }
      }

      字符串数据和任何数据使用+都是相连接,最终都会变成字符串。上面的程序运行后会打印出: hello, LiMing you age is 23.

      7.转义字符:(通过 来转变后面字符或者符号的含义)。

       :换行。

       : 退格。

       :按下回车键。

       : 制表符。

      8.赋值运算符

       +=   -=    *=    /=    %=

      9.逻辑运算符

      逻辑运算符用于连接Boolean类型的表达式

      & 与:&可以看成是数字0,在判断的时候只要出现0就是false

      |  或:|可以看成是数字1,在判断的时候只要出现1就是true

      ^ 异或:总结起来就是,同假异真。

          ! 非:非就是取反,取反表达式后假就是真,真就是假

         && 逻辑与:判定跟&差不多。区别就是 当使用&&的时候,左边出现false后立即得出判断结果(逻辑短路), &&右边的表达式不会进行判断而使用  & 两边的表达式都参与运算。

      || 逻辑或:判定跟|差不多。 区别就是 当使用||的时候,左边出现true后立即得出判断结果(逻辑短路), ||右边的表达式不会进行判断而使用  | 两边的表达式都参与运算。

      

      10.位运算符(位运算是直接对二进制数就行运算)

      <<:左移   eg. 3<<2 = 12 --> 3*2*2 =12 左移就是乘以2的移动位数次幂

    3的二进制表现形式:0000-0000-0000-0011 -->左移2位补位后就是00-0000-0000-0011--> 0000-0000-0000-1100=12

     

      >>:右移  eg.  3>>1 =1 --> 3/2 = 1 右移就是除以2的移动位数次幂

      3的二进制表现形式:0000-0000-0000-0011 -->右移1位补位后就是00000-0000-0000-001--> 0000-0000-0000-0001=1

      >>>:无符号右移  eg. 3>>>1 = 1 --> 3/2 = 1

      >>:右移后,最高位补位由原来的数据的最高位而定。如果最高位位0,则右移后用0补位,如果最高位为1,则右移后用1补位

      >>>:无论最高位是什么,右移后用0补位

      &与运算   eg. 6 & 3 = 2

      0000-0000-0000-0110
     & 0000-0000-0000-0011
    -----------------------
       0000-0000-0000-0010    = 2

          

      | 或运算  eg.  6 | 3 = 7

      0000-0000-0000-0110
     |  0000-0000-0000-0011
    ----------------------------
       0000-0000-0000-0111     = 7

      ^异或运算  eg. 6 ^ 3 = 5

      0000-0000-0000-0110
     ^ 0000-0000-0000-0011
    ----------------------------
       0000-0000-0000-0101   = 5

       ^异或的应用: 7^4^4=7 一个数异或同一个数两次还是那个数。

      应用1:用于加密

      

      应用2: 不借助第三方两个变量进行互

    class D2nTom 
    {
        public static void main(String[] args) 
        {
            /*
             不借助第三方两个变量进行互换
            */
            int a = 10 ,b =50;
            System.out.println("不借助第三方两个变量进行互换前: a= " +a +", b= "+b);
            //方法一
             
            a= a+b;
            b= a-b;
            a= a-b;
            
            System.out.println("不借助第三方两个变量进行互换后: a= " +a +", b= "+b);
            System.out.println("--------------------------------------------------");
            /*
                方法二
            */
            
            System.out.println("不借助第三方两个变量进行互换前: a= " +a +", b= "+b);
            
            a = a ^ b;
            b = a ^ b;
            a = a ^ b;
    
    
            System.out.println("不借助第三方两个变量进行互换后: a= " +a +", b= "+b);      
    
        }
    }

      ~反码  eg. ~6 = -7

     ~  0000-0000-0000-0110---->所有位取反
    -----------------------------
       1111-1111-1111-1001 ---> 先减一再取反的出整数
     -  0000-0000-0000-0001 --->减一
    ---------------------------- 1111-1111-1111-1000 --->取反 ----------------------------   1000-0000-0000-0111 =-7

       10.条件运算符

      (条件表达式)? 表达式1:表达式2

      如果条件表达式的结果为true则执行表达式1的内容,如果条件表达式的结果为false则执行表达式2的内容。  

      int a=10,b;
    
      b=(a>8)? 100:200;
          /*三目运算符:
            好处:可以简化 if else 代码
            弊端: 因为是运算时,所以运算完必须由一个结果。
          */    

      11.判断结构

    //if语句:有三种形式
    1.if(条件表达式)
    {
            执行语句;
    }
    
    2.if(条件表达式)
    {
            执行语句;   
    }
    else
    {
            执行语句;
    }
    
    3if(条件表达式)
    {
            执行语句;   
    }
    else if(条件表达式)
    {
            执行语句;
    }
    ...
    ...
    ...
    else
    {
            执行语句;
    }

      12.选择结构-switch语句

    switch(表达式)
    {
        case 取值1:
        执行语句;
        break;
    
      case 取值2:
        执行语句;
        break;
    
      case 取值3:
        执行语句;
        break;
        ...
        ...
        ...
        
        case 取值n:
        执行语句;
        break;
    
        default:
        执行语句;
        break;
    }
    /*
    switch的特点
    1.switch语句选择的类型只有四种: byte,short,int,char.
    2.case与default之间没有顺序。先执行第一个case,直到没有匹配的case后执行default。
    3.结束switch语句的两种情况,遇到break或执行到switch语句结束。
    4.如果匹配的case或者default没有对应的break,那么程序会继续向下执行。运行可以执行的语句,直到遇到break或者说switch结尾后结束。


    if和switch语句功能相似,具体情况怎么选择呢?
    如果判断的具体数值不多,而且符合 byte short int char 这四种类型。虽然两个语句都可以使用,建议使用switch语句,因为效果稍高。
    其他情况,对区间判断,结果为boolean类型判断,则使用if,if的范围更广泛。
    */

      

     

  • 相关阅读:
    AJAX实例演示加载xml
    入门AJAX总结
    My97 DatePicker一款好用的日历控件
    SQL Server 安装错误 错误代码:0x800F0906的解决方案
    JS实现动态添加和删除DIV
    .Net之路(九).ashx来实现ajax用户名的验证
    善良公社项目总结之如何从前台向后台传输数据
    MySQL数据分析(16)— 数据操作之增删改查
    字典-Python基础前传(9)
    MYSQL之事务
  • 原文地址:https://www.cnblogs.com/lhy_2011/p/4020222.html
Copyright © 2011-2022 走看看