Java学习_DAY2_基础语法

基础语法

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

注释

  • 注释不会被执行

  • 单行注释://

  • 多行注释:/*

    ​ 注释

    ​ */

  • JavaDos(文档注释):/**

    ​ *

    ​ */

规范规范!

标识符

java所有的组成部分都需要自己名字。类名,变量名,方法名都称为标识符

  • 可由字母(az或AZ),美元符号($),下划线(_),数字(0~9)组成

  • 不可以用数字开头

  • 大小写敏感

  • 可用中文…但是不建议

关键词

  • String 不是关键词,而是类

2.数据类型

  • 强类型语言:要求变量的使用严格符合规定,所有变量都必须要先定义后才能使用(Java,C)

  • 弱类型语言:不是很严格

  • 数据类型分为两大类

    基本类型:

    • 整数类型:byte、short、int、long(定义时最后要加L)

    • 浮点类型:float(末尾加F)、double

    • 字符类型:char(用单引号中写一个字符)

    • boolean类型:true/false(占用1位

      (占用字节:1248482)

      1B(byte)=8b(bit)

      电脑的32位只能用32位的cpu,64位可用32位也可用64位的,依赖于电脑的寻址能力

    引用类型

    • 接口
    • 数组

扩展

整数:
二进制八进制十进制十六进制
0b0/0x
浮点数:

float :有限,离散,舍入误差,大约,接近但不比较!最好完全避免浮点数比较

银行业务怎么表示?
(用BigDecimal 数学工具类进行比较)

float f1=0.1f;
double d2=0.1;
System.out.println(f1==d2);//false
    
float f2=0.1233421f;
float f3=f2+1;
System.out.println(f2==f3);//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);//*****
char c3 ='\u0061'//(十六进制!)
System.out.println(c3);//a

97=a 65=A

所有字符的本质还是数字
编码Unicode 2字节 0~65536
(Excel最长65536)

String s1 =new String("hello world");
String s2 =new String("hello world");
String s3 ="hello world";
String s4 ="hello world";
System.out.println(s1==s2);//false
System.out.println(S3==s4);//true
//对象  从内存分析
转义字符

\t 制表符
\n 换行

布尔型
boolean flag =true;
if(flag=true);
if(flag){};//进阶

3.类型转换

byte,short,char—int—long—float—double

  • 强制转换:(类型)变量名 高——低

  • 自动转换: 低——高

  • 不能对布尔值进行转换;不能把对象类型为不相干的类型;强制转换可能会出现内存溢出或者精度问题

    char c='a';
    int b=c+1;
    System.out.println(b);//98
    System.out.println((char)b);//b
    

JDK7新特性,数字之间可以用下划线:10_0000

int money =10_0000_0000;
int year = 20;
int total1=money*year;//-1474836480,溢出
long total2=money*year;//还是上述负数,在转换前就已经出问题了
long total3=money*(long)year;//200_0000_0000
//先把一个数转化为long类型进行计算
System.out.println(toyal1+" "+total2+" "total3);

4.变量、常量

变量
  • 可变化的量
  • Java 是强类型语言,每个变量都必须声明其类型
  • 变量是程序中最基础的存储单元,要素包括变量名,变量类型和作用域,记得语句要用分号结尾

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Demo{
    //实例变量:从属于对象;如果不进行初始化,那么输出类型的默认值 0/0.0/布尔值默认是false
    //除了基本类型,其余默认值都是null
    String name;
    int age;
    static double salary =2500;
       public static void main(String[] args){
    //局部变量是在方法里面的且必须声明和初始值
       int i=10;
        Demo demo1=new Demo();
     //变量类型 变量名字 =new ···
       System.out.println(demo1.age);//0
       System.out.println(demo1.name);//null
      //类变量可以直接输出
       System.out.println(salary);
       }
}
常量
  • 初始化后不能再改变值

  • 所谓常量可以理解为特殊的变量,它的值被设定后,在程序运行过程中不允许再改变。

    final 常量名 = 值;

  • 常量名一般用大写字符表示

  • 修饰符无先后顺序关系

  • public class Demo{
        static final double PI=3.14;
        public static void main (String[] args){
            System.out.println(PI);
        }
    }
    

命名规范:

  • 变量,方法,类名做到见名知意

  • 类成员变量:首字母小写和驼峰原则:lastName

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:GoodMan

  • 方法名:首字母小写和驼峰原则:justDoIt()

5.运算符(Operator)

  • 算数运算符:+、-、*、/、%、++、–(一元运算符,自增自减,a++先赋值再加一;++a先加一再赋值),a+=b(a=a+b),a-=b(a=a-b)

    int a=10;
    int b=20;
    System.out.println(a+b);//30
    //字符串连接符号+  ,String!
    System.out.println(" "+a+b);//1020
    System.out.println(a+b+" ");//30
    
  • 赋值运算符:=

  • 关系运算符:>、<、>=、<=、==、!=、instanceof

    • 输出布尔值:true/false
  • 逻辑运算符:&&,||,!

  • 位运算符:&(与),|(或),^(与非),~(取反)<<(左移相当于*2,2<<3=16),> >(右移相当于/2),>>>

  • 条件运算符:?:

    x ? y : z;(如果x==true,则结果为y,否则结果为z)

    int score =80;
    String type =(score>60)?"及格":"不及格";
    System.out.println(type);//及格
    
  • 扩展赋值运算符:+=,-=,*=,/=

public class demo {
    public static void main(String[] args){
        long a=1234554555555L;
        int b=123;
        short c=10;
        byte d=8;
       
        System.out.println(a+b+c+d);//Long
        System.out.println(b+c+d);//Int
        System.out.println(c+d);//Int
        //数值型默认值为Int型
          
    }
}

幂运算:Math.pow(2,3)

很多运算会利用工具类进行计算

优先级运算符结合性
1()、[]、{}从左向右
2!、+、-、~、++、–从右向左
3*、/、%从左向右
4+、-从左向右
5«、»、>>>从左向右
6<、<=、>、>=、instanceof从左向右
7==、!=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13?:从右向左
14=、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>=从右向左

6.包机制、JavaDOS

包机制

  • 用于区别于类名的命名空间

  • 一般用公司域名倒置作为包名:例如:com.baidu.www

  • 包语句的语法格式:package pkg1[.pkg2[.pkg3…]];

  • 用"import"语句明确导包:

    import package[.package2…].(classname |*);

JavaDos

JavaDos命令是用于生成自己的API文档

/**

*@author

*@version

*/

等等,加在类上面是类的注释,加在方法上面是方法的注释。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值