JAVA基础语法


一、 jre,jdk安装要求:

1 安装路劲中不能有空格
2 路劲不能出现中文
3 不要安装在C盘

二、java环境变量的设置和程序的运行

当出现错误提示:javac不是内部或外部命令,也不是可运行的程序。或批处理文件时

说明: 当前目录中没有javac
解决: 计算机而言,都有一个环境变量,环境变量中会设置系统属性,从而可以再任意目录访问,如ping命令。

环境变量中会设置一些系统属性,会把我们常用的命令提示符的操作通过系统属性的PATH设置进去

环境变量设置: 在坏境变量的PATH中添加bin目录

path=E:\Software\JDK\zulu-jdk8.0.72-win_x64\bin
注意:用封号分隔。如果忘记,参考path中的其他写法

三、java运行

1, java源文件首先编译成.class文件,.class文件是在java的虚拟机上执行的

   二进制文件是可运行的文件
   所有的开发语言,只要是编译形的开发语言,都会有源文件(如xxx.java),都会由源文件编译成可运行的文件(如xxx.class),
   然后由可运行的文件来执行

2. binary(bin) 二进制意思,可执行的文件
    java compare(javac.exe) 编译。作用:编译源文件,借助命令提示符编译
    java.exe运行,执行。运行可运行文件,cpu就是读这样的二进制来完成程序

3.  源文件:给人看的
    二进制文件给计算机看的
    计算机运行二进制文件后的结果是我们想要的结果
    计算机能识别的编码是二进制编码(数字转二进制)存在的意义

四、变量存在的意义

1 . 变量的含义类似数学:
1+1=?
1+2=?
1+3=?
1+4=?
以上数学题压缩为:当x=1…4时,求1+x=?
思路:把可能会变得变量x拿出来定义,使用时引用此变量x
2. 变量存在的意义:使代码更加灵活
3. 技巧:
把尽可能会发生变化的东西拿出来定义为变量,只要有一个值在两个地方做引用,就拿出来定义为变量

五、变量的类型

  1. 变量的定义:

    变量类型 变量名称 = 变量的值

  2. 变量的类型:

    基本数据类型:4类8种
    整型:
    byte(1),short(2),int(4),long(8)——>默认类型(int)
    定义:long long num = 12L;
    布尔类型:
    (boolean)boolean的值:true,false
    浮点类型(小数类型):
    float(4),double(8)——>默认类型(double)
    定义float: float num = 12.1F;
    字符类型:
    字符类型不是字符串,使用的是单引号进行定义,而且只能有一个字符
    char c = ‘c’;

  3. 现在的编码统一用的是Unicode(2个字节)

六、变量的强制类型转换

1 当大类型和小类型的值进行运算,小类型的值会自动转换为大类型的值
Int a = 10, double b =20.7, a + b –>double

2 要把一个大类型的值存储到小类型中,需要强制转换,如果不转化,会编译出错
强制类型转换方式:(int)12.5 —> 把12.5这个double类型强制转换为int类型

3 当char byte short进行运算时会自动转换为Int类型

        例如:
        byte b1=12;
        byte b2=11;
        byte b3 = (byte)(b1+b2);// 运算时会转换成int型,所以需要强制转换为byte

所有的char只要在运算的时候都会转换为int类型,怎么转成int呢?
解答:进行运算后的值是ASCII码(int类型的), char类型会转换为这个int的ASCII码。

例如:通过两种方法来获取(中国)这个字的unicode
        方法一:
        char c1 = '中';
        char c2 = '国';
        int num1 = c1 +1-1;  //char类型运算后的值是int类型,如果想要返回char类型,需要强制类型转换,如        char c = (char)(c1 +1-1);System.out.println(c);此时输出的c就是字符中
        int num2 = c2 +1-1;
        System.out.println(num1);
        System.out.println(num2);

        输出结果:
        20013
        22269

        方法二:
        char c1 = '中';
        char c2 = '国';
        int num = c1+c2; //当char byte  short进行运算时会自动转换为Int类型
        System.out.println(num);

        输出结果:42282

    注意:char在运算的时候会转换为int整型数字。

4 变量的作用域:

花括号内有效,在同一个作用域中不能重复定义变量

5 定义变量的规定:

关键字不能用来定义
对于类而言,定义的名称的第一个字母用大写,之后遵循驼峰标识
对于函数(如main函数),对于普通变量,第一个字母用小写,之后遵循驼峰标识

6 目前看来String比以上所有类型都要大,意味着任何类型与String类型相加都会转换为String类型。
这就是为什么与String类型相加会转换为String类型
这就是说String类型的不是只有文字组成,可以是数字组成,如String str = “11”;

七、简单运算符

1.算数运算符:+、-、*、/、%
2.逻辑运算符:< 、> 、<= 、>=、 == 、!= 
   逻辑运算符的值是boolean类型的,true、false
   如:12>10 -->true
3 自增和自减
         自增:前自增和后自增
          例如:int a = 10;
                    //a++;-->11
                    ++a;-->11
        即a++与++a都等于a = a + 1
        两者的区别:int c = a++//先赋值后自加
                             int c = ++a//先自加后赋值

八、与运算 或运算

与&:1&1=1
       1&0=0
       0&1=0
       0&0=0

或|:0|0=0
       1|1=1
       1|0=1
       0|1=1

短路与&&:当第一个条件能够确定这个表达式的值的时候,不会再去判断或执行第二个表达式.这就叫短路。前面的路不能走,后边有路也不走
    例如:TestOperator3.Java 
               if((a++>10)&&(b-->10)){}  第一个条件表达式是false,能确定这个表达式的值,所以不会再判断第二个表达式的值

短路或||:当第一个条件能够确定这个表达式的值的时候,不会再去判断或执行第二个表达式.这就叫短路。当第一个表达式不成功时,才会执行第二个表达式。
           if((--b<11)||(a++>10)){} 第一个条件的值为true,这个确定这个表达式的值,所以不会再执行判断第二个条件表达式

九、语句结构

1 顺序结构

          顺序结构就是按着顺序来执行。例如:
          public class TestVar {
        public static void main(String[] args) {
           int i = 0,j = 0; //可以在一行中声明多个变量
           System.out.println(i+" "+j);//当没定义int i = 0,j = 0时,java编译器报错,报没有初始化变量
           i = 1;
           j = 2;
           System.out.println(i+" "+j); 
        }
    }
    输出结果:
    0 0 //输出的是 0 0,而非1 2,说明是按顺序执行的。
    1 2

2 选择结构:

       if(条件){
          条件满足,执行代码
       }else if(条件){
          如果这个条件满足,执行这段代码
       }else{
          以上条件都不满足,执行这段代码
       }
    注意:else if 已经把前面的if排除了
              如果if满足,则只是仅仅执行if语句,不会在执行else if后面的语句

3 分支结构(可以通过选择结构来实现)

         switch(整型){  //swich(整型)必须是整型,不能是小数或者字符串等等值
             case1:xxx;  //case后面直接就是值,不能是逻辑表达式,如:case a<10不能是这种表达式
             break; //条件满足后,跳出switch

             case2:yyy;
             break;

             default:zzz;
             break;
    }

注意:
switch(x)中 x可以是char类型,因为char类型在运行的时候就是一个整形
当不加break时,前面的case满足,不仅执行此case语句,还会在不判断的情况下执行后面的语句。如case1,case2,case3,default。当case2满足条件时,不会输出case1,因为case1不满足条件,但是会输出case2,case3,default。因为case2满足条件,但是因为没加break,所以后面的case,default都会默认并且不判断都执行。如TestSwitch.java示例

4.循坏结构

         while循坏
              while(条件){}
         for循坏
               for(只会执行一次;循坏条件;循坏语句执行完成之后执行){
                    满足条件的循坏语句;
    }

注意:
continue,break的含义
continue是终止此次循坏,跳回条件的判断位置
break是终止整个循坏。

十、快捷键

  1. Tab是向后缩进一格,Shift+Tab是向前缩进一格
  2. windows的命令提示符中查看目录命令:dir
  3. cd hello (cd 进入hello文件夹),cd \ 表示回到根目录
  4. . 表示当前文件夹 .. 表示返回上级目录
  5. e: 切换到e盘

十一、 思维导图软件:

Mindjet MindManager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值