首页 > 编程语言 > 详细

Java基础语法学习

时间:2020-06-22 11:27:43      阅读:82      评论:0      收藏:0      [点我收藏+]

Java基础语法

注释

单行注释、多行注释、文档注释

//我是以//开头的单行注释

/*
我是多行注释
我是多行注释的第二行
我是第三行
我累了
*/

/**
我是文档注释
我可太牛逼了
*/

平时写代码要注意规范 阿里巴巴Java开发手册

标识符

关键字

不能用关键字来命名

Java所有的部分都需要名字

所有的标识符都应该以字母、美元符、或者下划线开始

首字母之后可以是字母、美元符、或者下划线或者数字的任意组合

标识符大小写敏感

一般不使用中文命名,也不用拼音

强类型语言

要求变量的使用严格符合规定,所有变量都需要先定义后才能使用

数据类型

基本类型

引用类型

1字节=8位 1B=8bit

八大数据类型

//整数的表示方式:
int num1 = 1;
byte num2 = 2;
short num3 = 3;
long num4 = 4L;//long类型的数字定义的时候要在后面加上L
//小数的表示方式:
double num5 = 3.1415926;
float num6 = 3.12765F;
//字符的表达方式:
char name1 = ‘情‘;//只能定义一个字
//字符串的表达方式:
String name2 = ‘天若有情天亦老‘;
//布尔值的表示方式:
boolean flag = true;
boolean flag2 = false;
//字符内容的拓展,还有一些常见的转义字符\n \t
char c1 = ‘a‘;
char c2 = ‘中‘;
char c3 = ‘\u0061‘;//一种编码格式
System.out.println("------------------------------------------------------------------");
//内存分析
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb);//false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd);//true
System.out.println("------------------------------------------------------------------");
//精简代码
if (flag==true){}
if(flag){}
System.out.println("------------------------------------------------------------------");
//强制转换_part01
char c = ‘a‘;
int p = c+1;
System.out.println(p);
System.out.println((char)p);
//强制转换_part02:
//强制转换的表达式是  (类型)变量名
//注意:大容量转换为小容量时使用强制转换,可能出现内存溢出或者精度问题。
//不能对布尔值进行强制转换,且不能将对象转换为不相干的类型。
int i = 128;
byte b = (byte)i;//内存溢出
double c = i;
System.out.println(i);
System.out.println(b);
System.out.println(c);
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
//JDK7中的新特性:数字内部可以用下划线表示
int money = 10_0000_0000;
int year = 20;
int total = year*money;//计算溢出 计算结果默认是int 没有转换类型也会是int
long total2 = money*((long)year);//将一个数字转换成long之后再计算的结果就会默认成long类型了
System.out.println(total);
System.out.println(total2);
System.out.println("------------------------------------------------------------------");

PS:在运行时遇到的第一个bug:解析时已达到文件结尾——出现了括号的缺失

进制

//进制一般包括:二进制0b 十进制 八进制0 十六进制0x
int i1 = 10;
int i2 = 010;
int i3 = 0x10;
//在应用不同的变量类型的时候,尽量要避免浮点数之间的比较。因为浮点数能表示的数字是有限的、离散的、存在舍入误差的大约数,接近但不等于。

变量

不建议在一行中定义多个变量,变量可以是基本型也可以是引用类型。

合法、完整语句、变量名基本规则、变量作用域

命名规范:见名知意原则——参考《阿里巴巴Java开发手册》

  1. 类变量/局部变量首字母小写+驼峰原则 除了第一个单词之外 后面的单词首字母大写

  2. 常亮:大写字母和下划线

  3. 类名:首字母大写和驼峰原则

  4. 方法名:首字母小写和驼峰原则

变量类型

实例变量、类变量、局部变量

public class DEMO07{
    String name;
    int age;
    //实例变量:从属于对象,如果不自行初始化,会自定义为这个类型的默认值:0 0.0 u0000 false 其他类型对应的默认值都是null
    static double salary = 2500;
    //类变量 static
    public static void main(String[] args){    //main方法
        int i = 10;
        System.out.println(i);
        //局部变量的有效期仅仅局限在这个方法内,且在使用之前必须声明并初始化。
        DEMO07 demo07 = new DEMO07();//调用类
    //其他方法
    public void add(){
        
    }
        
    }
}

常量

一般使用大写字符定义

static final double PI = 3.14;
final static double PI2 = 3.154;
//final作为修饰符 其位置不存在先后顺序的要求
public static void main(String[] args){
    System.out.println(PI);
    System.out.println(PI2);
}

运算符

算术运算符+-*/%++--

//二位运算符
//计算除法的时候要注意类型转换
//小技巧:ctrl+D 将当前代码复制到下一行
int a = 10;
int b = 20;
System.out.println(a/(double)b);
System.out.println("------------------------------------------------------------------");
long a = 12312311L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b);//long 有long 结果就会成为long类型
System.out.println(b+c+d);//int 自动变成int类型
System.out.println(c+d);//int 自动变成int类型
System.out.println("------------------------------------------------------------------");
//自增 自减运算符 Math库的调用
int a = 3;
int b = a++;// 执行完这局代码后,先给b赋值,再自增   a = a+1在这句后面 被隐藏了
int c = ++a;// 执行完这局代码前,先自增,再给c赋值   a = a+1在这句前面 被隐藏了
double pow = Math.pow(3,2);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(pow);

赋值运算符

关系运算符== != instanceof

//关系运算符的返回值是true false
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);

逻辑运算符 &&与, ||或, !非

boolean a = true;
boolean b = false;
System.out.println("a && b: "+(a && b));//与运算 and
System.out.println("a || b: "+(a || b));//或运算 or
System.out.println("!(a && b): "+(!(a && b)));//取反 not

//短路运算
int c = 5;
boolean d = (c<4)&&(c>1);
System.out.println(d);

位运算符 了解即可

/*
A = 0011 1100;
B = 0000 1101;
A&B = 0000 1100;
A/B = 0011 1101;
A^B = 0011 0001;异或运算 全为0得1
~B = 1111 0010;

2*8 = 16 2*2*2*2 让2*8的运算更加高效
<<左移 >>右移 位运算的效率高
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
左移一次相当于乘以2
*/

条件运算符

// x? y : z
//如果x = true,则结果为y,否则结果为z
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type);

扩展赋值运算符

int a = 10;
int b = 20;
a += b;//a=a+b
a -= b;//a=a-b
System.out.println(a);
//字符串连接符 + 两侧有一个string类型 则会转换成string类型
System.out.println(a+b);
System.out.println(""+a+b);
System.out.println(a+b+"");

包机制

包的本质就是文件夹

一般利用公司域名倒置作为包名 com.baidu.www

视图上面的小齿轮 compack middle packages取消后可以使用.功能建立子包

导入包文件,import 包的地址

.*导入这个包下所有的类

JavaDoc

生成参考的的API文档

IDEA内部可以使用Tools下面的Generate JavaDoc生成

Java基础语法学习

原文:https://www.cnblogs.com/YabinWang/p/13175647.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!