Java之基本知识

数据类型

java有8种基本类型:

4整型:int、short、long、byte

2浮点型:float、double

1字符型:char

1boolean类型:boolean

特别的:

长整型后缀为L,8进制数前缀为0,16进制数前缀为0x,单精度浮点数(float)后缀为F,双精度浮点数(double)后缀为D,浮点数默认为double。

java7之后,2进制数前缀为0b,且数字间可加下划线_,易于阅读。如:0b1111_0000_0010_1000。

常量Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY、Double.NaN分别表示正无穷大、负无穷大、NaN。

变量

变量命名规则,只需记住:名不能是关键字、见名知意、别用一些特殊的符号。(PS:其可用的哪些符号没必要记,因为26字母加_的组合就足够用了,所以没必要记)。一个项目中所有的变量名规则一致。如:驼峰命名。

使用变量前,注意要初始化变量。

常量

final关键字定义常量,类常量用static final定义,常量在定义时就初始化,且值不能更改。

习惯的,常量名通常全大写(这是约定不是约束)

测试代码:

public class Test {
    public static void main(String[] args)
    {
        int     varInt = 4;
        System.out.println(varInt);
        short   varShort = 4;
        System.out.println(varShort);
        long    varLong = 4L;
        System.out.println(varLong);
        byte    varByte = 4;
        System.out.println(varByte);
        float   varFloat = 1.2F;
        System.out.println(varFloat);
        double  varDouble = 1.2D;
        System.out.println(varDouble);
        boolean varBoolean = true;
        System.out.println(varBoolean);
        int varInt8 = 0456;
        System.out.println(varInt8);
        int varInt16 = 0x14C;
        System.out.println(varInt16);
        int varInt2 = 0b1001;
        System.out.println(varInt2);
        final double MAX = Double.POSITIVE_INFINITY;
        System.out.println(MAX);
        final double MIN = Double.NEGATIVE_INFINITY;
        System.out.println(MIN);
        final double NAN = Double.NaN;
        System.out.println(NAN);
    }
}

测试结果:

4
4
4
4
1.2
1.2
true
302
332
9
Infinity
-Infinity
NaN

运算符

基本上,所有的语言的运算符都是一样的。不详细介绍了,简单列一下。

+、-、*、/、%、++、--、==、!=、<、>、<=、>=、&&、||、!

三元运算:       条件?表达式1:表达式2;

位运算

数值类型间转换

强制类型转换:(类型)变量。如:(int)c

运算符级别

不用记,用()来划分自己想要的运算优先级。如:(1+2)*(3+4)/5。

若有人问你关于运算符优先级的问题,请忽视问题,他没有别的意思,就是想难为你一下。

字符串

java中的Stirng类型的对象是不可修改的,称为不可变字符串。

检测字符串是否相等,不要用==,用equals。

空串和null串不是一个意思。空串是空字符串,null串是没有初始化的字符串变量

常用API

equals:比较两个字符串是否相等。"a".equals("b")

indexOf:查找并返回子字符串的位置,查不到返回-1。"abc".indexOf("a")   "abc".indexOf("a',0)

lastIndexOf:从后往前查找,与indexOf相似。

length:返回字符串长度。"abc".length()

replace:替换并返回新的字符串。"abcd".replace("b","e")

startsWith:是否以字符串开头。"abcd".startsWith("cd")

substring:截取并返回新字符串。"abcd".substring(1,3)

toLowerCase:转小写

toUpperCase:转大写

trim:去除字符串两边空格并返回新字符串。"   asd  ".trim()

构造字符串

使用StringBuilder类可以构造一个空字符串构建器,通过其对象可以动态生成字符串。

常用API

toString:将其对象转为字符串。

length:获取当前字符串长度。

setCharAt:修改指定位置字符。

insert:插入子字符串。

delete:删除子字符串。

测试代码:

public class Test {
    public static void main(String[] args)
    {
        String testStr = "abcdefg";
        boolean flag = testStr.equals("aa")?true:false;
        System.out.println(flag);

        int strIndex1 = testStr.indexOf("aa");
        System.out.println(strIndex1);
        int strIndex2 = testStr.indexOf("e");
        System.out.println(strIndex2);
        int strIndex3 = testStr.indexOf("b",2);//从第3个位置查找,默认为0
        System.out.println(strIndex3);

        int strLen = testStr.length();
        System.out.println(strLen);

        String strRep = testStr.replace("d","D");
        System.out.println(strRep);

        boolean startFlag  = testStr.startsWith("A");
        System.out.println(startFlag);

        String strSub = testStr.substring(2,5);
        System.out.println(strSub);

        String strUpper = testStr.toUpperCase();
        System.out.println(strUpper);
        String strLower = strUpper.toLowerCase();
        System.out.println(strLower);

        String str = "   abcd  ";
        String strTrim = str.trim();

        System.out.println(str);
        System.out.println(strTrim);

        StringBuilder builder = new StringBuilder();
        builder.append("测试代码");
        String strBuilder = builder.toString();
        System.out.println(strBuilder);
        System.out.println(strBuilder.length());
        builder.setCharAt(0,'c');
        System.out.println(builder.toString());
        builder.insert(2,"新");
        System.out.println(builder.toString());
        builder.delete(0,2);
        System.out.println(builder.toString());
    }
}

测试结果:

false
-1
4
-1
7
abcDefg
false
cde
ABCDEFG
abcdefg
   abcd  
abcd
测试代码
4
c试代码
c试新代码
新代码

控制台输入输出

输入

System.in

通过Scanner类读取输入内容。

测试代码:

import java.util.Scanner;

public class Test {
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        System.out.println(str);

        int varInt = scanner.nextInt();//只能输入数字
        System.out.println(varInt);
    }
}

测试结果:

测试
测试
123
123
测试
测试
cs
Exception in thread "main" java.util.InputMismatchException
	at java.util.Scanner.throwFor(Scanner.java:864)
	at java.util.Scanner.next(Scanner.java:1485)
	at java.util.Scanner.nextInt(Scanner.java:2117)
	at java.util.Scanner.nextInt(Scanner.java:2076)
	at Test.main(Test.java:10)

输出

System.out.println()

输出可以格式化输出,暂不介绍(一般不会去做控制台程序)。

流程控制

java流程控制和其他语言基本一样。

if...else

if..else if...else

...?...:...;(三元运算符,简单的if...else...)

switch(a){case 1:...break;case 2:...break;default:...break;}

while(){...};

do{...}while();

for(int i = 0;i<length;i++;){...}

for(int element : a){...}(类似于for each)

流程中断:break(跳出循环)、continue(跳出本次循环)

注意:多重循环结束所有循环要多重break,若想直接跳出函数可以使用return

数组

定义数组:类型[] 变量名;如:int[] numArr;

定义时初始化:int[] numArr = {1,2,3};未初始化则默认初始化;

定义时指定大小:int[] numArr = new int[10];

匿名函数:new int[]{1,2,3};

注意:数组下标从0开始,使用数组时注意越界问题。

常用API(Arrays类)

toString:将数组中的元素以,隔开的形式组成的字符串。如:1,2,3

corpOf:返回数组指定位置范围内的元素或者是指定长度的元素。

sort:排序

binarySearch:二分搜索查找

fill:重置数组所有元素值。

equals:是否相等(大小、下标相同的元素都相等)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值