java基础语法

1、注释、标识符、关键字

注释

  1. 单行注释

    //可以注释一行文字

  2. 多行注释

    /* 可以注释

    ​ 多段文字 */

  3. JavaDoc:文档注释

    /**开头

    */结尾

    其中每一段开头会有一个*

    即:

    /**

    */

标识符

关键字

在这里插入图片描述

注:取名不能与以上单词相同,即:不能public class class

Java所有的组成部分都需要名字。类名、变量名以及方法名都被统称为标识符

标识符注意点
  1. 所有的标识符都应以字母,美元符($)、或下划线(_)开始
  2. 首字母之后可以是字母、美元符、下划线或数字的任何字符组合
  3. 不能使用关键字作为变量名或方法名
  4. 标识符是大小写敏感的

2、数据类型

强类型语言

变量使用要求严格,所有变量必须先定义后使用

弱类型语言

使用较无严格要求

Java的数据类型分为两大类

在这里插入图片描述

//八大基本数据类型
//整数
int num1=10;
byte num2=20;
shrt num3=30;
long num4=30L; //long类型要在数字后面加个L

//小数:浮点数
float num5=50.1F;//float类型要在数字后面加个F
double num6=3.1415926535897932;

//字符
char name='A';
//字符串,String不是关键字,是类
//String namea="字符串"

//布尔值:是非
boolean flag=true;
boolean flag=false;
public class demo{
    public static void main(String[] args) {
        //整数拓展:进制:二进制0b 十进制 八进制0 十六进制0x
        int num=10;
        int i1=010;//八进制0
        int i2=0x10;//十六进制0x
        System.out.println(num);
        System.out.println(i1);
        System.out.println(i2);
        //============
        //浮点数拓展
        //BigDecimal 数学工具类(可用于计算)
        //float 有限 离散 舍入误差 大约 接近但不等于
        //double
        //最好不要使用浮点数进行比较
        float f=0.1f;//0.1
        double d=1.0/10;//0.1
        System.out.println(f==d);//false
        float d1=23131313f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        //====================
        //字符拓展 
        char c1='a';
        char c2='中';
         System.out.println(c1);//a
         System.out.println((int)c1);//强制转换 97
         System.out.println(c2);//中
         System.out.println((int)c2);//强制转换 20013
        //所有的字符本质还是数字
        //============
        //布尔值拓展
        boolean flag=true;
        if(flag==true){}
        if(flage){}//默认==true
        //两者相同
    }
}

3、类型转换

public class demo01{
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        double c=i;
        //强制转换  (类型)变量名   高--低
        //自动转换                低--高
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);
        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干类型
        3.在把高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内容溢出,或者精度问题
        */
    }
}
public class demo02{
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);//计算溢出,结果值有问题
        long total2=money*((long)years);//先把一个数转化为long
        System.out.println(total2);
    }
}

4、常量、变量

变量

type varName [=value][{,varName[=value]}];
//数据类型  变量名=值; 可以使用逗号隔开来声明多个同类型变量
public class demo{
    public static void main(String[] args) {
        String a="hello";
        int num=10;
        System.out.println(a);
        System.out.println(num);
    }
}

注:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  2. 变量名必须是合法标识符
  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

public class Variable{
    static int allClicks=0;//类变量
    String str="hello world";//实例变量
    public void method(){
        int i=0;//局部变量
    }
}
public class demo03{
    //类变量 static
    static double salary=2500;
    //属性:变量
    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值
    String name;
    int age;
    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i=10;
        System.out.println(i);
        //变量类型  变量名字=new demo03()
        demo03 mo=new demo03();
        System.out.println(mo.age);
        System.out.println(mo.name);
        System.out.println(salary);
    }
}

常量

初始化后不能再改变的值

final 常量名=值

常量名一般使用大写字符

public class demo04{
    //为修饰符,不存在先后顺序
    static final double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

5、运算符

二元运算符

public class demo05{
    //二元运算符
    public static void main(String[] args) {
     int a=10;
    int b=20;
    int c=25;
    int d=25;
    System.out.println(a+b);
    System.out.println(a-b);
    System.out.println(a*b);
    System.out.println(a/(double)b);
    long e=1231231321321L;
    int f=123;
    short g=10;
    byte h=8;
    System.out.println(e+f+g+h);//有一个为long结果即为long
    System.out.println(f+g+h);//没long的时候结果都为int
    System.out.println(g+h);//没long的时候结果都为int
    }

}

关系运算符

public class demo06{
    public static void main(String[] args) {
        //关系运算符返回结果:正确 错误 (布尔值)
        int a=10;
        int b=20;
        int c=21;
        System.out.println(c%a);
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

自增自减运算符

public class demo07{
    public static void main(String[] args) {
        //++ -- 自增 自减 一元运算符
        int a=3;
        int b=a++;//执行这行代码吼,先给b赋值,再自增
        //a=a+1
        System.out.println(a);
        int c=++a;//执行完这行代码后,先自增,再给c复制
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        //幂运算
        double pow= Math.pow(3,2);
        System.out.println(pow);
    }
}

逻辑运算

public class demo08{
        public static void main(String[] args) {
            //与(and) 或(or) 非(取反)
            boolean a=true;
            boolean b=false;
            System.out.println("a&&b:"+(a&&b));//两个变量都为真结果才为true
            System.out.println("a||b:"+(a||b));//两个变量有一个为真结果就为true
            System.out.println("!(a&&b):"+!(a&&b));//如果是假则为true
            //短路运算
            int c=5;
            boolean d=(c<4)&&(c++<4);
            System.out.println(d);
            System.out.println(c);//输出为5
            //c<4为false,不执行后面c++<4
    }
}

位运算(与二进制相关)

public class demo09{
    public static void main(String[] args) {
        /*
        A= 0011 1100
        B= 0000 1101
        A&B=0000 1100 对应位都为1则为1
        A|B=0011 1101 对应位都为0则为0
        A^B=0011 0001 如果对应位相同则为0
        ~B=1111 0010 取反0

        << 左移  *2
        >> 右移  /2
        0000 0000 0
        0000 0001 1
        0000 0010 2
        0000 1000 8
        效率高
        */
        System.out.println(2<<3);//输出值为16
    }
}
public class demo10{
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=b;//a=a+b
        a-=b;//a=a-b
        System.out.println(a);
        //字符串连接符 +
        System.out.println(""+a+b);//1020
        System.out.println(a+b+"");//30
    }
}

三元运算符

public class demo11{
    public static void main(String[] args) {
        //x ? y : z
        //如果x==true,则结果为y,否则结果为z
        int score=80;
        String type= score <60 ? "不及格":"及格";
        System.out.println(type); 
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值