Day3 java基本语法

JAVA基础

在跟狂神学JAVA!!强推!!【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili

注释

不会被执行,助于理解代码。

JAVA三种注释

//单行注释

/*
 多行注释
*/

/**  
 文档注释
 功能  @Description 描述
      @Author 作者
*/
//示例
package com.learnjava.qyh;
/**
*@author qyh
*@version 1.0
*since 1.8

*/
//先在类前写文档注释
public class Doc {
    String name;

    /**
     * @author qyh
     * @param name
     * @return
     * @throws Exception
     */
    //在类内注释是类注释,在方法里注释是方法注释
   public String test(String name)throws Exception{
       return name;
   }
}

1.通过命令行生成Javadoc文档,在idea右键选择Open in Explorer 打开所在文件夹,打开cmd(最好用shift在空格右键选择PowerShell),输入javadoc -encoding UTF-8 -charset UTF-8 Doc(类名).java
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.用idea生成javadoc文档
参考方法:https://www.cnblogs.com/xiaoming0601/p/6657136.html
生成后自动打开index文档
注:语言类型zh_CN(是下划线!)

标识符

关键字

在这里插入图片描述

1.类名、变量名、方法名都被称为标识符。

2.不可以用关键字取名

3.标识符大小写敏感

4.标识符以英文字母、 、 开 头 , 首 字 母 后 可 以 是 英 文 字 母 、 、_ 开头,首字母后可以是英文字母、 、_、数字。特殊符号要小心使用。

5.可以用中文做标识符(不规范不建议)

强类型语言

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

数据类型

分类

基本类型、引用类型。

1.基本数据类型:
数值类型:
整数类型【byte(1B)、short(2B)、int(4B)、long(8B)】、
浮点类型【float(4B)、double(8B)】、字符类型(2B);

boolean类型(1B,值只有true和false)。

//注意long和float后面需要加字母(大小写都行)区分:
long num = 20L;
float num1 = 10.2F; 

2.引用数据类型:类、接口、数组。

3.String不是数据类型,它是一个类。

扩展

整数:开头区分:二进制0b 八进制0 十进制 十六进制0x

int i = 10;  System.out.println(i);
int i1=010;  System.out.println(i1);
int i2=0x10; System.out.println(i2);

//输出结果
10
8
16

浮点数:

float i = 1111111111f;
float k = i+1;
double j =1111111111;
System.out.println(i==j);
System.out.println("-----------------");
System.out.println(i==k);

//输出结果
false
-----------------
true
//最好完全避免使用浮点数比较

字符:

char i = 'a';
char j ='中';
System.out.println(i);
System.out.println(j);
System.out.println("-----------------");
System.out.println((int)i);//强制转换
System.out.println((int)j);//强制转换

//输出结果
a
中
-----------------
97
20013
//字符本质还是数字
/*编码 Unicode 2B 0~65535
  编码表 97=a 65=A …… 
  原先编码样式 U0000~UFFFF
  char i = '\u0061'; // \u转义
  System.out.println(i);
  输出结果为 a
 */
/*
  转义字符
  \t   制表符
  \n   换行
  ……
  
  */

在这里插入图片描述

类型转换

强制转换 (类型)变量名 高→低

自动转换 低→高

//强制转换
int i = 128;
byte j = (byte)i;//内存溢出
System.out.println(i);
System.out.println(j);

//输出为
128
-128
    
//自动转换    
int i =128;
float j = i;
System.out.println(i);
System.out.println(j);

//输出为
128
128.0

注意:

1.不能对布尔值进行转换

2.不能把对象类型转换为不相干的类型

3.高容量到低容量,强制转换

4.转换时可能会存在溢出问题或者精度问题

//精度问题
System.out.println((int)23.7);
System.out.println((int)-45.89f);
//输出为
23
-45
    
//char与int转换
char i='a';
int j=i+1;
System.out.println(i);
System.out.println(j);
System.out.println("--------");
System.out.println((char)j);
//输出为
a
98
--------
b
//大整数溢出问题
//jdk7:数字之间可以用过下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;
long total1 = money*years;//转换之前就已经溢出了
long total2 = (long)money*years;
long total3 = money*(long)years;
long total4 = ((long)(money*years));
        System.out.println("int total="+total);
        System.out.println("long total1="+total1);
        System.out.println("long total2="+total2);
        System.out.println("long total3="+total2);
        System.out.println("long total4="+total2);
//结果
int total=-1474836480
long total1=-1474836480
long total2=20000000000
long total3=20000000000
long total4=20000000000

变量

类型

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

public class study {
    //类变量:从属于类,随类消亡 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);
    //变量类型  变量名  = new 变量类型();
        study study1 = new study();
        System.out.println(study1.age);
        System.out.println(study1.name);
        System.out.println(salary);
    }
}
//结果
10
0
null
2500.0

常量

初始化后常量的值不可改变。

关键字final

public class LearnFinal {
    //修饰符(数据类型前面)不存在先后顺序
    static final double PI = 3.14;
    final static double pi = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
        System.out.println(pi);
    }
}
//结果
3.14
3.14

命名规范

所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary 除了第一个单词以外,后面的单词首字母大写lastname、lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man,GoodMan 方法名:首字母小写和驼峰原则: run(), runRun()

运算符

算术运算符: +, -,**,l,%,++,–
赋值运算符: =
关系运算符: >,<,>=,=,==,!= instanceof 逻辑运算符: &&,||,!
位运算符: &,|,^,~,>>,<<,>>>* 条件运算符 ?︰
扩展赋值运算符: +=,-=,*=,/=

//一元运算符++ --
        int a = 3;
        int b = a++;//先赋值,再自增
        //a =a+1
        System.out.println(a);
        //a =a+1;
        int c = ++a;//先自增,后赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
/*
4
5
3
5
*/
//二元运算符
        int a = 10;
        int b = 20;

        System.out.println(a/(double)b);//不转换会变成0
/*
0.5
*/    
        long a = 1234567897456132L;
        int b = 20;
        short c = 20;
        byte d = 25;
        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
//如果有long,就为long类型
//如果没有,都是int(因为默认类型是int)
//short+byte=short,但因默认类型是int,而short→int自动转换了

很多运算,会使用工具类运算操作

double pow = Math.pow(3,2);//底数,次幂 3^2
System.out.println(pow);
//
9.0
//逻辑运算
		boolean a = true;
        boolean b = false;
        System.out.println("a && b:"+(a&&b));//逻辑与 都真为真
        System.out.println("a || b:"+(a||b));//逻辑或 一真为真
        System.out.println("!(a && b):"+!(a&&b));//逻辑非 真假假真
        //短路运算 如果&&前的运算是假,不会进行后面操作
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);//c没变,c++<4没有执行
/*
a && b:false
a || b:true
!(a && b):true
false
5
*/
//字符串连接符 + ,String + 会变为字符串类型,如果在他前面则先进行运算,再变成字符串
        int c = 20;
        int d = 10;
        System.out.println(""+c+d);
        System.out.println(c+d+"");
/*
2010
30
*/
//三元运算符
        //x?y:z
        //if x==true,y,
        //else false,z
        int score1 = 60;
        int score2 = 59;
        String type1 =score1<60?"NO":"YES";
        String type2 =score2<60?"NO":"YES";
        System.out.println(type1);
        System.out.println(type2);
/*
YES
NO
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值