java 基础语法 --狂神说

JAVA基本语法

Java注释、标识符、关键字

注释

书写注释是一个非常好的规范!!!(平时写代码要注意规范)

1.单行注释 // 修改样式 file–>settings–>Editor–>Color Scheme–>java -->comments–>Line comment 修改即可 无法修改时 将Inherit values from:前的勾取消掉

2.多行注释 /* */

3.文档注释 /** */

/**

​ *

​ */

有趣的代码注释 可以百度去搜搜看看

标识符

关键字:

1.标识符只能以字母(A-Z或a-z),美元符($),或者下划线(_)开头

2.首字母后可为字母(A-Z或a-z),美元符($),或者下划线(_)以及数字的各种组合

3.不能以关键字作为变量名或者方法名

4.标识符是大小写敏感的

5.合法标识符举例:age、$salary、_value、value

6.非法标识符举例:123abc、-salary、#abc

7.可以使用中文命名 但不建议 不要使用拼音 很Low

数据类型

强类型语言:变量使用要严格使用

弱类型语言:变量使用随意(VB JS)

Java类型

1.基本类型

数值类型 : 整数型 浮点型 字符型

整数型:byte 占一字节 -128~127

​ short 占两字节 -32768~32767

​ int 占四字节 -2147483648~2147483647

​ long 占八字节

浮点型: float 4字节

​ double 8字节(常用)

字符类型 char 2字节

Boolean类型:占一位仅为true 或者false

public class demo01 {
    public static void main(String[] args) {
        //八大基本数据
        //整数
        int num1 = 10;//最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;//Long类型数字后加L
        //浮点数
        float num5= 10.1F;//float类型要在小数后加F
        double num6 = 3.1415926535891243;
        //字符型
        char name = 'A';//只能一个字符
        //字符串
        String name1 = "秦疆";//string 不是关键字
        //布尔型
        boolean flag =True;//True or Flase
        
    }
}

2.引用类型:类 接口 数组

杂文

位bit :八位二进制 11001100

字节byte :计算机处理的基本单位 B表示

1B=8b(bit)

字符:计算机使用的字母 数字 字和符号

扩展

整数扩展: 进制 二进制0b 十进制 八进制0 十六进制 0x

	    int i =10;
        int i2=010;//八进制0
        int i3 =0x10;//十六进制
        int i4 = 0b10;//二进制
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);

10
8
16
2

浮点数 拓展 银行?钱?

float 有限 离散 舍入误差 接近但不等于

最好避免使用浮点数比较大小

float f = 0.1f;//0.1
double d =1/10;//0.1
System.out.println(f==d);//false 不等判断 错误
float d1=233323462163f;
float d2=d1+1;
System.out.println(d1==d2);//true  判断错误

false
true
必须比较时 可用减法表示

字符拓展

编码 Unicode 表:(97=a 65=A)2字节 0-65536 2^16=65536 U0000 UFFFF

char c1 ='a';
char c2 ='中';
System.out.println(c1);
System.out.println((int)c1);//强制转化
System.out.println(c2);
System.out.println((int)c2);//强制转化
char c3='\u0061';
System.out.println(c3);

a
9720013
a

转义符

转义字符意义ASCII码值(十进制)
\b退格,将当前位置移到前一列008
\f换页 将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\\代表一个反斜线字符’’'092
\’代表一个单引号(撇号)字符039
\’’代表一个双引号字符034
\0空字符(NULL)000
\ddd1到3位八进制数所代表的任意字符三位八进制
\uhhhh1到2位十六进制所代表的任意字符二位十六进制

布尔值扩展

boolean flag =true;
if (flag==true) {}//新手
if (flag){}//老手  意思一样

类型转换

1.强制转换

转换顺序:byte ,char,short -->int -->long -->float–>double

由高到低,则需强制转换 括号里加数据类型

public class demo03 {
    public static void main(String[] args) {
        int i = 128;
        byte b =(byte)i;
        System.out.println(i);
        System.out.println(b);

    }
}
128
-128
//出现内存溢出  byte最大127

注意点:
1.不能对布尔值转换
2.不能把对象转换为不相干的类型
3.高容量转低容量的时候,需要强制转换
4.转换的时候可能存在内存溢出,或者精度问题

2.自由转换

低到高转换 直接操作

3.溢出问题

public class demo04 {
    public static void main(String[] args) {
        //操作比较大的数时,注意溢出问题
        //数字之间可用下划线隔开
        int money = 10_0000_0000;
        int year = 20;
        int total =money * year;//溢出
        long total2 = money *year;//仍溢出
        long total3 = money * (long)year;
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);

    }
}
-1474836480
-1474836480
20000000000

注意:小写l 容易看成数字1 多用大写L

变量

变量即可以变化的量 Java是强类型语言 每个变量都必须声明类型

Java变量是程序中最基本的储存单元,要素包括变量名,变量类型和作用域

type varName [=value][{,varName[=value]}]
//数据类型 变量名=值; 可以用逗号隔开来声明多个变量 但不建议使用

注意事项:

  • 每个变量都有类型,可以为基本类型,也可为引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整语句,每一次声明都要以分号结束

变量作用域

类变量 关键字 static

实例变量 无关键字

局部变量

public class Demo06 {
    //类对象 static
    static double salary =2500;//随类产生 随类消失
    //属性: 变量
    //实例变量:从属于对象 ; 如果不自行初始化 类型默认值为0 0.0
    // 布尔值:默认为false
    //除基本类型外 其他默认为null
    String name;
    int age;//实例变量只有在 类实例化后可被调用

    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明 和初始化值 在方法中声明使用
        int i=10;
        System.out.println(i);
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);
        System.out.println(salary);
    }
    //其他方法
    public void add(){
        System.out.println(i);//不可调用局部变量
    }
}

变量命名规范

1.所有变量、方法、类名:**见名知意 **

2.类成员变量:首字母小写和驼峰原则: monthSalary

除第一个单词以外 后面的单词首字母大写 lastName

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

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

5.类名:首字母大写和驼峰原则:Man GoodMan

6.方法名:首字母小写和驼峰原则:run(),runRun()

常量

常量 初始化后不会在改变值! 不能变动的值

final 常量名 = 值;
final double PI=3.14;

常量名一般使用大写字符

运算符

优先级(算数运算符>位运算符>关系运算符>赋值运算符)

算术运算符 :+,-,*,/,%,++,–

赋值运算符 :=

关系运算符:>,<,>=,<=,==,!=, instanceof

逻辑运算符: &&,||,!

位运算符:&,|,^,~,>>,<<,>>>(了解)

条件运算符:?:

扩展赋值运算符:+=,-=,*=,/=

运算中含float/double /long输出结果为float/double/long型 否则为int

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a= 12312312L;
        int b =123;
        int c= 10;
        byte d= 8;
        float e= 10.1F;
        System.out.println(a+b+c+d);//long  运算中含long/double 输入结果为long/double型 否则为int
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
        System.out.println(c+e);
        System.out.println(a+b+c+d+e);
    }
}
12312453
141
18
20.1
1.2312463E7
package operator;

public class Demo03 {
    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);

    }
}

1
false
true
true
package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++ -- 自增自减 一元运算符
        int a =3;
        int b= a++;//a++   a=a+1  当++在后面 先把a赋给b a再自加
        //a=a+1  在后面

        //a=a+1在前面
        int c=++a;//++a    a=a+1   当++再前面  先把a自加 再把a赋给c
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        //幂运算 2^3 2*2*2=8
        double pow=Math.pow(3,2);
        System.out.println(pow);
    }
}
5
3
5
9.0
package operator;
//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与(and) 或(or) 非(取反)
        boolean a= true;
        boolean b= false;

        System.out.println("a && b :"+(a && b));//false
        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);//false
        System.out.println(c);//5
    }
}
/*
A=00111100
B=11001111

A&B=00001100   位与  同一为1 其余为0
A|B=11111111   位或  有1为1  全零为0
A^B=00001100   同或   相同为1 不同为0
~A=11000011    位非   取反
<<左移  2= 0001  2<<3  1000=16
>>右移   16=1000  16>>3  0001=2


*/

>>:带符号右移。正数右移高位补0,负数右移高位补1。比如:

4 >> 1,结果是2;-4 >> 1,结果是-2。-2 >> 1,结果是-1。

>>>:无符号右移。无论是正数还是负数,高位通通补0。

对于正数而言,>>和>>>没区别。

package operator;

public class Demo07 {
    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);

        //字符串拼接 + ,string
        System.out.println(""+a+b);//字符串在前 后为字符串
        System.out.println(a+b+"");//先运算 后拼接
        //三元运算符
        //x?y:z
        //如果 x==true ,则结果为y,否则结果为c
        int score =80;
        String type = score <60 ? "不及格":"及格";
        System.out.println(type);
    }
    
10
1020
30
及格

包机制

区别类名

package pkg1[.pkg2]

import packet.basic.*;导入packet.basic中所有的类

JavaDoc

帮助文档

https://docs.oracle.com/javase/8/docs/api/?xd_co_f=8ea595d3-17b0-4785-bd65-68283ed4a5

参数属性

@author 作者名。。。

通过cmd javadoc. 参数 Java文件(xx.java)

通过IDEA:https://www.cnblogs.com/toutou/p/javadoc.html#_label0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值