Java教程

JavaBasics

本文主要是介绍JavaBasics,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JAVA基础

注释

注释不被执行,是给写代码人看的

public class Hello {
    public static void main(String[] args){
        //单行注释
        /*
        多行注释
        */
        /**
         * 
         * javaDOC:文档注释
         * */
        System.out.print("Hello,World!");
    }
}

出现Cannot resolve symbol 'String'即无法解析String时,

表明未配置SDK---->打开Project Structure,进行配置JDK且下面要改成相应的版本号。

标识符

所有标识符都应该以字母(A-Z或a-z),美元符($),下划线(_)开始。

首字符之后可以是字母(A-Z或a-z),美元符($),下划线(_)或数字组合。

标识符大小写敏感。

不建议使用中文拼音。

数据类型

变量的使用严格符合规定,变量必须定义才能使用。

基本类型

1字节相当于二进制的8位

整数类型

byte 1字节。

short 2字节。

int 4字节。

long 8字节。 数字后面加个L。

浮点型

float 4字节。 数字后面加个F。

double 8字节。

布尔值

boolean 表示是或非。

位(bit):1100 1010是一个8位二进制数。

字节(byte):数据处理的基本单位,习惯用B表示。

1B=8b

字符:指计算机中使用的字母、数字、字和符号。

数据类型拓展

整数拓展

二进制0b、八进制0、十六进制0x。

浮点拓展

float 缺点:有限、离散、舍入误差、大约、接近但不等于。

最好完全避免使用float进行数值比较

 float f=0.1f;//0.1
        double d=1.0/10;//0.1
        System.out.println(f==d);//flase
        System.out.println(f);
        System.out.println(d);

        float d1=21551354513f;
        float d2=d1+1;
        System.out.println(d1==d2);//true

运行结果
false
0.1
0.1
true

字符拓展

所有字符本质都是数字

char c1='a';
        char c2='中';
        int c3=20013;
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);//强制转换
        System.out.println((char)c3);//强制转换
        //所有的字符本质还是数字
        char c4='\u0061';
        System.out.println(c4);//a
运行结果
a
97
中
20013
中
a    

转义字符

\t相当于一个Tab键 \n换行

布尔值拓展

if (flag){}//默认 flag=true
相当于if (flag=true){}

if语句中flag默认为true。

类型转换

高——>低,强制转换。

低——>高,自动转换。

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

操作较大的数时,注意溢出问题。

int money=10_0000_0000;
        int years=20;
        int total=money*years;//-1474836480  溢出
        long total2=money*years;
        System.out.println(total);
        System.out.println(total2);//-1474836480
        //默认是int,转换前已经存在问题。算的时候用int算完后才转换为long.

        long total3=money*((long)years);
        //先把一个转换为long,算的时候用long算。

        System.out.println(total3);//200_0000_0000
运行结果
-1474836480
-1474836480
20000000000

不强制转换时,默认int。

变量

public class Demo06 {
    static double salary = 2500;
    String name;//实例变量
    int age;
    public static void main(String[] args) {
        String name ="akkl";
        char x='X';
        double pi=3.1415;
        //变量类型 变量名字=new Demo06();
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);//0
        System.out.println(demo06.name);//null
    //布尔值默认false,处理基本类型,其他都是null。
        System.out.println(salary);//2500.0
 }

Demo06是类名,main是方法名。

实例变量:用在类里面,方法外面。

局部变量:用在方法里面,切只在本方法内有用。使用前必须声明,初始化值。

实例变量前加static后,方法内使用就不行要在new了。

实例变量有默认值,布尔值默认false,除了基本类型其他都默认null。

变量命名规范
1、见名知意
2、类成员变量、局部变量、方法名:首字母小写,驼峰原则:monthSalary
3、常量:大写字母和下划线。
4、类名:首字母大写的驼峰原则:GoodMan。

常量

初始化后不能再改变的值。一般用大写字母。

常量格式:final 常量名=值;

修饰符:不存在先后关系。

final,static都是修饰符。

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

运算符

算术运算符:+、-、*、/

int a=10;
int b=20;
 System.out.println(a/b);//0
 System.out.println(a/(double)b);//0.5
运行结果
    0
    0.5

因为a、b为int 所以结果为int,结果是0.5所以int型为0。

将其中一个强制转换为double则可以输出0.5。

long e=3413213844L;
int f=213;
short g=10;
byte w=8;
System.out.println(e+f+g+w);//long
System.out.println(f+g+w);//int
System.out.println(g+w);//int
有long时,结果为long。
有double结果为double。
其他的均为int。

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

关系运算符的结果:正确、错误

int t=10;
int p=20;
System.out.println(t>p);//false
System.out.println(t<p);//true
System.out.println(t==p);//false
System.out.println(t!=p);//true

自增、自减:++、--

int n=3;
int m=n++;//n++   n=n+1
    System.out.println(n);//4
int k=++n;
    System.out.println(n);//5
    System.out.println(m);//3
    System.out.println(k);//5

m=n++ 先将n的值给m,然后再自增。

m=++n n先自增,再把n的值给m。

幂运算

java没办法实现2^3的数学运算。

很多运算要使用工具类实现。

double pow = Math.pow(2, 3);//相当于2*2*2
System.out.println(pow);//8.0

逻辑运算

与&&、或||、非!

boolean a1=true;
boolean b1=false;
System.out.println("a1&&b1:"+(a1&&b1));//false
System.out.println("a1||b1:"+(a1||b1));//true
System.out.println("!(a1&&b1):"+!(a1&&b1));//true
运行结果
    a1&&b1:false
	a1||b1:true
	!(a1&&b1):true

因为与运算是有否出否

c1<4是否,所以结果是否,不再进行接下来的运算。

int c1=5;
    boolean d1=(c1<4)&&(c1++<4);

    System.out.println(d1);//false
    System.out.println(c1);//5

位运算

&,|,^,~

d1=0011 1100
f1=0000 1101
逐位运算
d1&f1=0000 1100//与
d1|f1=0011 1101//或
d1^f1=0011 0001//异或
~f1=1111 0010//非

左移,右移:<<,>>:在二进制中进行移动。

System.out.println(2<<3);//16
System.out.println(2>>1);//1
运行结果
    16
    1

2用二进制表示 0000 0010

左移3位 0001 0000=16

右移1位 0000 0001=16

字符串连接

String

从左到右运算,当出现String时,后面的都按String输出。

括号的优先级比运算符更高,所以括号内可正常输出。

//字符串连接  +  String
	int a=10;
        int b=20;

    System.out.println(""+a+b);//1020
    //从左到右运算,当出现String时,后面的都按String输出
    System.out.println(a+b+"");//30
    System.out.println(a+b+""+a);//3010
    //括号的优先级比运算符更高,所以括号内可正常输出
    System.out.println(a+b+""+a+(a+a+b));//301040
    System.out.println(a+b+""+a+b+(a+a+""+b+a));//301020202010

三元运算符

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

分包及导入包、

package包必须在最上面。

关于分包
一般利用公司域名倒置作为包名。
如:www.baidu.com  包名为com.baidu.www

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

package com.Java.Basics;//package必须放在最上面。
//导入包叫import
//*是导入这个包下所有的类。
import com.Java.Basics.*;

public class Demo10 {
    /*
    关于分包
    一般利用公司域名倒置作为包名。
    如:www.baidu.com  包名为com.baidu.www   
     */
    public static void main(String[] args) {

    }
}

JavaDoc

javadoc是用来生成自己API文档的。

/**
 * @author 作者名
 * @version 版本号
 * @since 指明需要最早使用的jdk版本号
 * @param 参数名
 * @return 返回值情况
 * @throws 异常抛出情况
 */

在DOS窗口生成javados文档:

javadoc -encoding UTF-8 -charset UTF-8 JavaDoc.java

用IDEA生成:Tools---->Generate JavaDos

/**
 * @author aaa
 * @version 1.0
 * @since 1.8
 */

public class JavaDoc {
    String name;

    /**
     * @author
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return  name;

    }

}

优先级

上面优先级高于下面

运算符说明 Java运算符
分隔符 . {} [] () , ;
单目运算符 ++ -- ~ !
强制类型转换运算符 (type)
乘、除、余 * / %
加、减 + -
移位运算符 << >> >>>
关系运算符 < > <= >= instanceof
等价运算符 == !=
按位与 &
按位异或 ^
按位或 |
条件与 &&
条件或 ||
三目运算符 ?:
赋值 = += -= *= /= &= |= ^= %= <<= >>= >>>=
这篇关于JavaBasics的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!