Java的基础语法 超详解!

目录

Java数据类型

1、基本数据类型 

2、引用数据类型

基本数据类型转换

1、默认转换

2、强制转换

ASCll码和Unicode码的区别

运算符

1、算数运算符

2、逻辑运算符

3、赋值运算符

 4、比较运算符

5、条件运算符 

6、位运算符

条件语句

1、if

分支语句 

1、switch语句

注意事项:

循环语句

 循环语句的功能

循环语句的四个组成部分

循环语句的分类

1、while循环

2、do  while 循环

3、for循环

使用时如何选择循环?

 java中的方法

1、方法定义


Java数据类型

1、基本数据类型 
  • 数值型(byte,short,int,long)(float,double)
  • 布尔型(Boolean)逻辑值,不可以用0和1来代替false和true
  • 字符型(char)
2、引用数据类型

用系统中的类作为字符串变量类型,例如:String

String类型不能转为其他的基本类型

类型占用存储空间表述范围
整数型byte1个字节
 -128~127
short2个字节
 
int 4个字节

-2^{31}-2^{31}-1

long8个字节-2^{63}-2^{63}-1
字符型float4个字节-3.403E38~3.403E38
double8个字节-1.798E308~1.798E308
布尔型boolean逻辑值true  /  false
String---------------

public static void main(String[] args){
        //布尔型和布尔型
        boolean a=true;
        boolean b=false;
        System.out.println(a!=b);//true

        //引用类型和引用类型
        String s1="abcd";
        String s2="bcad";
        System.out.println(s1==s2);//false

        int c=10;
        System.out.println(c>'a');//false
}

基本数据类型转换

在Java程序中,不同的基本数据类型(只有7种,不包含Boolean类型)之间可以进行相互转换。

转换分为默认转换和强制转换 

char

short    ------> int -------> long --------> float ---------> double

byte

1、默认转换

小容量转换大容量

2、强制转换

大容量转换小容量

容易出现溢出或者精度降低的问题

public class D_5data_change {
    public static void main(String[] args) {
        //小容量转换为大容量
        byte a=127;
        short b=a;
        int c=b;
        long d=c;
        float e=d;
        double f=e;
        System.out.println(f);//127.0

        //大容量类型转化为小容量
        int x=263;//4个字节
        byte y=(byte)x;//1个字节,强制转换
        System.out.println(y);//7

        float z=10.55f;//4个字节
        int v=(int)z;
        System.out.println(v);//10  精度降低
    }
}

ASCll码和Unicode码的区别

  • ASCll(ASCII  American Standard Code for Information Interchange美国信息互换标准代码),是对英语字符与二进制之间的关系,做了统一规定,被称之为ASCII码。ASCII码在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有0和1两种状态,因此8个二进制位可以组合出256种状态,这被称之为一个字(byte),ASCII码一共规定了128个字符的编码。
  • 缺点:不能表示所有字符
  • Unicode:将世界上所有的符号都纳入其中,范围到十六进制0x10FFFF,有110多万,每个字符都有一个唯一的Unicode编号,例如:“马”的Unicode是U+9A6C
  • Java底层采用Unicode编码来存储字符。

运算符

  1. 算数运算符
  2. 逻辑运算符
  3. 赋值运算符
  4. 比较运算符
  5. 条件运算符
  6. 位运算符
1、算数运算符
运算符运算
+

1、正号

2、加法运算(数值+数值)(字符+数值)

3、连接(数值+字符串)(字符串+字符串)

-

1、减法运算

2、符号

(不能连接)

*
/
%取模
++

1、a++ 先取值后运算

2、++a 先运算后取值

--

1、a-- 先取值后运算

2、--a 先运算后取值

 public static void main(String[] args) {
        int A=10;
        int B=A++;//B=10,A=11,注意:先给B赋值再运算
        int C=++A;//c=12,注意:先自加再赋值
        A++;//A=12+1=13
        ++A;//A=13+1=14
        ++B;//B=11
        C++;//C=13
        ++C;//C=14
        System.out.println("A="+A);//14
        System.out.println("B="+B);//11
        System.out.println("C="+C);//14

        //例题
        int i = 1;                         //i=2->3->4->5->6
        int j = ++i + i++ + ++i + ++i + i++;//j=2+2+4+5+5
        System.out.println(i);//6
        System.out.println(j);//18

        int a = 10, b = 10, c = 10;
        boolean result = a++ == 10 && b-- == 10 || ++c == 10;
        System.out.println(a);//11
        System.out.println(b);//9
        System.out.println(c);//10 
        System.out.println(result);//true

        int i1 = 10, i2 = 10;
        System.out.println("i1 + i2 = " + i1 + i2);//1010
        System.out.println("i1 - i2 = " + i1 - i2);//语句错误
        System.out.println("i1 * i2 = " + i1 * i2);//100
        System.out.println("i1 / i2 = " + i1 / i2);//1
}
2、逻辑运算符
运算符名称说明
&逻辑与区别与联系
&&短路与
|逻辑或
||短路或
逻辑非取反
^逻辑异或相同为假,不同为真

public static void main(String[] args) {
        int x=10;
        int y=5;
        int z=1;

        //&:左右两边都是true,有一个false,结果就为false
        //&:当遇到false后,还会继续执行后面的表达式
        System.out.println(x>y & y>z);//true & true--->true
        System.out.println(x>y & y<z);//true & false--->false
        System.out.println(x<y & ++y<z);//false & false--->false
        System.out.println(y);//6

        //&&:左右两边都是true,有一个false,结果就为false
        //&&:当遇到false后,不会继续执行后面的表达式
        System.out.println(x>y && y>z);//true & true--->true
        System.out.println(x>y && y<z);//true & false--->false
        System.out.println(x<y && ++y<z);//false & false--->false
        System.out.println(y);//6  ++y没有执行
      
        int x1=10;
        int y1=5;
        int z1=1;

        //|:两边都为false,有一个true,结果就为true
        //|:当遇到true后,还会继续执行后面的表达式
        System.out.println(x1>y1 | y1>z1);//true & true--->true
        System.out.println(x1>y1 | ++y1<z1);//true & false--->true
        System.out.println(x1<y1 | y1<z1);//false & false--->false
        System.out.println(y);//6

        //||:两边都为false,有一个true,结果就为true
        //||:当遇到true后,不会继续执行后面的表达式
        System.out.println(x1>y1 || y1>z1);//true & true--->true
        System.out.println(x1>y1 || ++y1<z1);//true & false--->true
        System.out.println(x1<y1 || y1<z1);//false & false--->false
        System.out.println(y);//6  ++y没有执行

        //!:逻辑非 取反
        System.out.println(!(x>y));//false

        //^:逻辑异或 相同为假,不同为真
        System.out.println(true^true);//false
        System.out.println(false^true);//true
}

3、赋值运算符
运算符说明
=赋值运算(区分==)
+=加法运算(隐式类型转换)
-=减法运算
/=除法运算
*=乘法运算
%=取余运算
public static void main(String[] args) {
        //赋值运算符
        //1、区分==和=
        //=:右边赋值给左边,赋值时,注意左右两边的数据类型,不同时,要遵循数据类型转换规则
        //==:比较运算符
        Boolean b1=false;
        if (b1=true)
        {
            System.out.println("结果为真");//√
        }
        else if(b1==false)//此时b为true,此语句不执行
        {
            System.out.println("结果为假");
        }


        //2、+=赋值时会隐式类型转换
        int a=10;
        long b=a+2;//b=12
        short s=3;
        a+=5;//a=15

        //如果是:s=s+3; 那么:short=shor+int  提示错误
        s+=32767;//会隐式类型转换   short=(short)int
        System.out.println(a);//15
        System.out.println(b);//12
        System.out.println(s);//-32766
}
 4、比较运算符
运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象"Hello"instanceof Stringtrue
5、条件运算符 
  • 语法

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

public static void main(String[] args) {
        int a=40;
        String result=(a>=60)?"及格":"不及格";
        System.out.println(result);//不及格
}
6、位运算符
运算符运算说明
<<左移

左移一位,相当于乘2

被移除的高位丢弃,空缺位补0

>>

右移

右移一位,相当于除以2

高位移动后,正数补0,负数补1

>>>无符号右移

右移一位,相当于除以2

高位移动后,默认都补0

&

可以进行逻辑运算(左右两边都是逻辑值)

也可以进行位运算(左右两边都是数值)

|
^异或
~各二进制码按照补码各位取反
public static void main(String[] args) {
        int a=2;
        int b=3;
        int c=-8;

        //0010  2
        //0100  4  左移一位
        a=a<<2;//左移两位:0000 0000 0000 1000  8 

        //0011  3
        //0001  1  右移一位
        b=b>>1;//0000 0000 0000 0001

        //1111 1111 1111 1000  负数在计算机中以二进制补码的形式存储 -8
        //1111 1111 1111 0111  反码(补码减一)
        //0000 0000 0000 1000  源码(反码取反)8
        c=c>>>1; //0111 1111 1111 1100 在补码的基础上右移1,最高位默认补0,
                 //c=214748364

        System.out.println(a);//8
        System.out.println(b);//1
        System.out.println(c);//2147483644

        //0000 1000  a=8
        //0000 0001  b=1
        //0000 0000  a&b=0
        //0000 1001  a^b=9
        //0000 1001  a|b=9
        System.out.println(a&b);//0
        System.out.println(a^b);//9
        System.out.println(a|b);//9
    }

条件语句

1、if
  if(条件表达式,最终返回一个布尔值){ }
  if(条件表达式,最终返回一个布尔值){ }else{ }
  if(条件表达式,最终返回一个布尔值){ }else if(条件表达式,最终返回一个布尔值){ }

例题:

public class Demo{
public static void main (String args[]) {
        int n = 100;
        int m = 20;
        if (m++ <= 20 || n == n++)// true||不再执行 m=21
        System.out.println(n);//100
        System.out.println(m);//21

        boolean state=false;
        int i=2;
        if((++i>2)&&(state=true))
           i++;
        if((++i>4)||(state=false))
           i++;
        System.out .println (i);//6
}
}

分支语句 

1、switch语句

多分支选择语句,根据表达式的值,执行多个操作中的一个

注意事项:
  •  case语句后面只能使用常量(字面量)表达式(byte,short,in,char,枚举类型,String类型)
  •  case后的值不能重复
  •  某个case分支如果没有break,继续执行下一个case后的语句。(穿透性)
  •  凡是switch可以实现,if也可以,反之不行

switch(表达式){
         case value1: 代码块
             break;
         case value2: 代码块
             break;
         case value3: 代码块
             break;
             default:  默认代码块;

}

public class D3_3switch {
    /*
      
      表达式的值可以是byte,Byte,short,Short,int,Integer,char,Character,枚举类型,String类型;
     
     */
    public static void main(String[] args) {
        int input=0;
        switch(input) {
            case 1:
                System.out.println("4");
                break;
            case 2:
                System.out.println("5");
                break;
            default:
                System.out.println("重新输入");
        }
    }
}

循环语句

 循环语句的功能

在某些条件满足的情况下,反复执行特定代码的功能

循环语句的四个组成部分
  • 循环变量的初始化
  • 循环条件的部分
  • 循环体的部分
  • 迭代部分
循环语句的分类
  • while循环
  • do  while 循环
  • for循环
1、while循环

while(逻辑表达式){

           循环体;

           迭代部分;

}

2、do  while 循环

do{

 循环体;

 迭代部分;

}while(逻辑表达式);

3、for循环

for(表达式1;表达式2;表达式3){

       循环体;

       迭代部分;

}

执行规则:

先执行表达式1,接着执行表达式2,若表达式2的值为真,则执行循环语句,接着执行表达式3,再判断表达式2的值,依此重复。

 

区分do while循环和while:do while循环至少执行一次循环体语句。

for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体。

使用时如何选择循环?
  • 遍历有明显的循环次数(范围)的需求,选择for循环
  • 遍历没有明显的循环次数(范围)的需求,选择while循环
  • 如果循环体语句至少执行一次,可以考录使用do while循环

public static void main (String [] args) {
        int x=5;
        while(++x<4) {
        --x;
        }
        System.out.println( "x="+x);//6

        for (int i=0; i<10;i++){
        if(i==3){
           break;
        }
        System.out.print (i);//012
        }
}

 java中的方法

Java中的方法类似于c语言中的函数,将完成某个功能的代码进行封装,为其命名。最终可以重复调用,减少代码的冗余。方法必须写在中(.java文件中)。

1、方法定义

public---->访问权限

static----->静态的  直接可以使用类名调用

void------->表示此方法没有返回值

起一个名字------>方法名

{     }------>方法体

 public class D3_6means {
    public static int max(int a,int b){
        return a>b?1:0;
    }
    public static void main(String[] args) {
        int a=max(10,34);
        System.out.println(a);//0
    }
}

  • 46
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java入门基础知识是学习和理解Java编程语言基础概念和语法规则。下面是一些常见的基础知识点: 1. Java环境安装:首先需要安装Java开发工具包(JDK),它包含了Java编译器和运行时环境。 2. Java语言特点:Java是一种面向对象的编程语言,具有简单、可移植、面向对象、安全、高性能等特点。 3. Java程序结构:一个Java程序由一个或多个类组成,每个类包含方法和属性。Java程序从main()方法开始执行。 4. 数据类型:Java提供了基本数据类型(如整数、浮点数、字符、布尔等)和引用数据类型(如类、数组、接口等)。 5. 变量和常量:变量是用于存储数据的内存位置,常量是固定不变的值。在Java中,使用关键字来声明变量和常量。 6. 运算符:Java提供了各种运算符,例如算术运算符、赋值运算符、比较运算符、逻辑运算符等。 7. 控制流程:Java提供了条件语句(如if-else、switch-case)、循环语句(如for、while、do-while)和跳转语句(如break、continue)来控制程序的执行流程。 8. 数组:数组是一种存储相同类型数据的集合,可以通过索引访问数组中的元素。 9. 方法:方法是一段可重用的代码块,用于执行特定的任务。Java中可以定义自己的方法,也可以使用已经存在的方法。 10. 异常处理:Java提供了异常处理机制来处理程序运行过程中发生的异常情况,可以使用try-catch语句块来捕获和处理异常。 以上是Java入门基础知识的一些主要内容,希望对你有所帮助。如果有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值