JAVA学习笔记01:JAVA基础—基础语法

基础语法

基本数据类型

整型

类型存储需求范围
int(默认)4字节 − 2 31 ∼ 2 31 − 1 -2^{31}\sim2^{31}-1 2312311
short2字节-32768~32767
long8字节 − 2 63 ∼ 2 63 − 1 -2^{63}\sim2^{63}-1 2632631
byte1字节-128~127

注:
[1]长整型数值有后缀L。十六进制有前缀0x,八进制有前缀0,但八进制容易与十进制混淆,最好不要用。

[2]从Java 7开始,加上前缀0b或0B可以表示二进制数,还可以为数字字面量加下划线,如1_000_000,使其更具有可读性。

[3]Java没有任何无符号形式int long short 或 byte 类型。但是有将有符号数解释为无符号数的方法。例如Byte.toUnsignedInt()

浮点类型

类型存储需求范围
float4字节1.4013E-45~3.4028E+38
double(默认)8字节

所有浮点数值计算都遵循IEEE 754规范。下面是用于表示溢出和出错的三个特殊的浮点数值:

  • 正无穷大 Double.POSITIVE_INFINITY
  • 负无穷大Double.NEGATIVE_INFINITY
  • NAN 不是一个数字,比如 0 0 \frac{0}{0} 00=NAN

char类型

类型存储需求范围
char20~65535

char类型的值可以表示为十六进制数,范围从\u0000到\uFFFF。例如\u2122表示商标符号TM,\u03C0表示希腊字母 π \pi π

转义序列名称Unicode值
\b退格\u0008
\t制表\u0009
\n换行\u000a
\r回车\u000d
"双引号\u0022
\反斜杠\u005c

boolean类型

true 和 flase,用于判断逻辑条件。整数型和布尔值之间不能相互转换。(和C++不同)


引用数据类型

字符串

Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类。
关键字:String
从概念上讲,Java字符串就是Unicode字符序列。

子串

String类的substring方法可以从一个较大的字符串提取出一个子串。
例如:

        String greet="hello";
        String s=greet.substring(0,3);//创建“hel”子串
拼接

拼接:两个字符串相加,也可以是一个字符串与非字符串,后者会自动转换成字符串

int age = 13;
String rating = "PG"+age;//"PG13"
检测字符串是否相等

equals方法可以检测两个字符串是否相等。equalsIgnoreCase是不区分大小写的判断。
例如:

"hello".equals("Hello");//区分大小写,返回false
"hello".equalsIgnoreCase("Hello");//返回true

数组

数组是一种数据结构,用来存储同一类型值的集合。
声明数组的格式:
数组类型[]   数组变量名 = new 数组类型[XXX];

动态初始化

数组必须要初始化,才能使用,如果只是赋值了null,将会发送空指针异常。

int[] array = new int[300];
double[] arrayB = new double[300];
String arrayC[] = new String[5];
静态初始化
/**静态初始化**/
int[] arraya=new int[]{5, 15, 25};
String[] arrayb=new String[]{"Hello","World","Java"};

/**静态初始化的省略格式*/
int[] arrayAA={10,20,30};
//静态初始化的标准格式,可以拆分成为2个步骤
int[] arrayBB;
arrayBB=new int[]{11,21,31};
打印数组
  • 直接打印数组名称,得到的是数组相对应的内存地址哈希值
  • 访问数组元素的格式:数组名称[索引值]
    注意:索引值从0开始,一直到“数组的长度-1”为止。
  • 使用动态初始化数组的时候,其中元素会自动拥有一个默认值,规则:
  • 整数类型: 0
  • 浮点类型: 0.0
  • 字符类型 ‘\u0000’
  • 布尔类型 false
  • 引用类型 null

注意:
静态初始化其实也有默认值,
只不过系统自动将默认值替换成为了大括号中的具体数值。

示例代码:

    public static void main(String[] args) {
        //静态初始化
        int[] array = {10,20,30};
        System.out.println(array);//哈希值,内存地址值
        System.out.println(array[0]);//10
        System.out.println(array[1]);//20
        System.out.println(array[2]);//30

        int num = array[1];//把20赋给num
        System.out.println(num);//20

        //动态初始化
        int[] array1 = new int[3];
        System.out.println(array1);//内存地址值
        System.out.println(array1[0]);// 0
        System.out.println(array1[1]);// 0
        System.out.println(array1[2]);// 0

        array1[1]=123;
        System.out.println(array1[1]);// 123

    }

关键字:class
以后介绍

接口

关键字:Interface
以后介绍


变量与常量

声明变量

骆驼命名法:骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母

声明变量格式:数据类型 数据名
例如:int vactionDays;

变量初始化

声明一个变量之后,必须用赋值语句赋值。

int vactionDays;
vactionDays = 12;

常量

Java中,利用关键字final指示常量。例如:

public class Constants {
    //类常量,可以在一个类的多个方法中使用
    public static final double CM_PER_INCH = 2.54;
    public static void main(String[] args)
    {
        double parperWidth=8.5;
        double parperHeight=11;
        System.out.println("Parper size in cemtimeters:"
                +parperWidth*CM_PER_INCH+"by"+parperHeight*CM_PER_INCH);
    }
}

final表示这个变量 只能被赋值一次,一旦赋值后就不可改变。 习惯上,常量名全用大写。
注意:类常量的定于位于main方法的外部。

枚举类型

关键字:enum{ }
示例

public class 枚举 {
    enum Size{
        SMALL,MEDIUM,LARGE,EXTRA_LARGE;
    };
    public static void main(String[] args){
        Size s=Size.MEDIUM;
        System.out.println(s);
    }

}

运算符

加减乘除:+ - * /
取模:%
自增:++
自减:--
逻辑运算符:&&(与)、||(或)、!(非)
位运算符:
& and 与
| or 或
^ xor 位异或,第一位操作数的第n位与第二个操作数的第n位相反,那么结果也为1
~ not 取反(位非)
>> 右移 <<左移 >>>无符号右移 <<<无符号左移
三元运算符:
格式:表达式 ? x : y
示例代码:

    public static void main(String[] args)
    {
        String str1="hello";
        System.out.println(str1+" world");

        //优先级问题
        System.out.println(str1+20+30);//hello2030
        System.out.println(str1+(20+30));//hello50

        System.out.println(0b1000&0b1011);//返回8,证明在第4位上数值相同
        System.out.println((0b1000&0b1011)/0b1000);
        System.out.println(0b0000&0b0000);//返回0
        System.out.println(true && false);//返回false
        System.out.println(0<1 && 2<1);//返回false

        System.out.println(0b0010 ^ 0b0100);//返回6,就是0110
        System.out.println(0b0011 | 0b0000);//返回3
        System.out.println(~0b0010);//返回-3


        int n=8;
        int fourthBitFromRight = (n&(1<<3))>>3;
        System.out.println(5<<3);//将5转换成2进制左移3位
        System.out.println(fourthBitFromRight);


        //无符号位运算对比
        System.out.println(5>>3);
        System.out.println(-5>>3);//负号是用高位取反来表示,JAVA里面数的表示一般32位
        System.out.println(-5>>>3);


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值