精华内容
下载资源
问答
  • Java基础 Java基础 1. 常量 1.1. 概述 1.2. 分类 1.2.1. 字面值常量 1.2.2. 自定义常量 2. 变量 ...3.1. 算术运算符的基本用法 3.2. 赋值运算符的基本用法 3.3. 关系运算符的基本用法 1. 常...

    在这里插入图片描述

    Java基础

    1.常量

    1.1.概述

    • 在程序的执行过程中其值不发生改变的量

    1.2.分类

    1.2.1.字面值常量

    A.字符串常量
    • 用双引号括起来的内容
    B.整数常量

    1.Java针对整数常量提供了4种表现形式

    ​ (1):二进制

    ​ (2):八进制

    ​ (3):十进制

    ​ (4):十六进制

    2.其他进制到十进制的转换规则:权位展开法:任意进制第n位数字的表示值等与此数字乘以进制的n-1次方,再将所有数字的表示值相加就等于十进制的值;

    3.十进制到其他进制的转换规则:除基取余,直到商为0,余数反转,十进制到X进制这个基就是X。

    C.小数常量
    D.字符常量

    用单引号括起来的内容,单引号中只能是单个字母,单个数字,单个符号

    E.布尔常量

    只有true和false

    F.空常量

    null

    1.2.2.自定义常量

    2.变量

    使用变量的注意事项:
    a:作用域问题
          变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
    b:初始化值问题
    	  没有初始化值不能直接使用
    c:在一行上建议只定义一个变量
    	  可以定义多个,但是不建议
    

    2.1.概述及作用

    在程序执行的过程中,在某个范围内其值可以发生改变的量,用来不断的存放同一类型的常量,并可以重复使用,变量的定义格式:数据类型 变量名 = 变量值 ;

    2.2.数据类型

    2.2.1.引用数据类型:数组 类 接口

    2.2.2.基本数据类型

    类型 字节数 范围
    byte 1(8bit) -128 ~ 127
    short 2(16bit) -2^15 ~ 2^15 - 1
    int 4(32bit) -2^31 ~ 2^31 - 1
    long 8(64bit) -2^63 ~ 2^63 - 1
    float 4(32bit) -3.40310^38 ~ 3.40310^38
    double 8(64bit) -1.79810^308 ~ 1.79810^308
    char 2(16bit) 0 ~ 2^16 - 1 = 65535
    boolean
    1.数据类型转换之隐式转换:
    
    Java中的默认转换规则
    
    ​	(1): boolean类型不能转换为其他的数据类型
    
    ​	(2): byte,short,char,int,long,float,double(3): byte,short,char之间不转换,他们参与运算首先转换为int类型
    
    2.数据类型转换之强制转换:
    
    强制转换的格式:
    
    ​	 目标数据类型 变量名=(目标数据类型)(被转换的数据);
    

    3.运算符

    3.1.算术运算符的基本用法

    A:什么是运算符:

    	对常量和变量进行操作的符号称为运算符
    

    B:运算符的分类:

    	算术运算符		
    
    ​	赋值运算符
    
    ​	比较运算符
    
    ​	逻辑运算符
    
    ​	位运算符
    
    ​	三目运算符
    

    C:算数运算符有哪些:

    ​ + , - , * , / , % , ++ , –

    D:++,–运算符的作用

    自加(++)自减(--)运算
    
    ​	++:自加。对原有的数据进行+1
    
    ​	--:自减。对原有的数据进行-1
    
       a:单独使用:
    
    ​		放在操作数的前面和后面效果一样。
    
    ​   b:参与运算使用:
    
    ​		放在操作数的前面,先自增或者自减,然后再参与运算。
    
    ​		放在操作数的后面,先参与运算,再自增或者自减。
    
    注意事项:
    
    ​	a:整数相除只能得到整数。如果想得到小数,请使用浮点数
    
    ​	b:/获取的是除法操作的商,%获取的是除法操作的余数
    
    ​	  %运算结果的符号,取决于参与运算是左边的符号
    

    3.2.赋值运算符的基本用法

    1.赋值运算符有哪些
    
    ​	=, +=,-=,*=,/=,%=
    
    2.注意事项:
    ​	a:基本的赋值运算符:=
    ​		把=右边的数据赋值给左边。
    
    ​	b:扩展的赋值运算符:+=,-=,*=,/=,%=
    ​		+= 把左边和右边做加法,然后赋值给左边。
    
    ​	c: 赋值运算符要求左边的数据必须是一个变量
    

    3.3.关系运算符的基本用法

    关系运算符有哪些:
    
    ​	== ,!= , < , > , <= , >= , instanceof.
    
    注意事项:
    
    ​	无论你的操作是简单还是复杂,结果是boolean类型。
    
    ​	"=="不能写成"="。
    

    3.4.运算符

    3.4.1.逻辑运算符

    运算符 运算 规则
    & 有false则为false
    | 有true则为true
    ^ 异或 相同为false ,不同为 true
    ! false 变true,true变false
    && 短路与 有false则为false,若左端为false则右端不执行
    || 短路或 有true则为true,若左端为true则右端不执行

    3.4.2.位运算符

    运算符 运算 规则
    & 按位与 有0则为0
    | 按位或 有1则为1
    ~ 按位取反 0变1,1变0
    ^ 按位异或 相同为0,不同为1
    << 左移 将操作数 所有二进制位向左移动一位,右边空位补0
    >> 右移 将操作数 所有二进制位向右移动一位,左边空位正数补0,负数补1
    >>> 无符号右移 将操作数 所有二进制位向右移动一位左边空位补0(不考虑原数正负)

    3.4.3.三元运算符

    格式 :(关系表达式)?表达式 1:表达式2;
    执行流程:计算关系表达式的值,如果为true, 运算后的结果是表达式1; 
    		   		  如果为false,运算后的结果是表达式2;
    
    示例:比较两个数的最大值
    public class SanYuan {
        public static void main(String[] args) {
            int a=10;
            int b=20;
            int max=a>b?a:b;
            System.out.println("最大值为:"+max);
        }
    }
    
    运行结果:
    	最大值为:20
    
    	Process finished with exit code 0
    
    展开全文
  • 1、变量的分类 (1)成员变量 直接声明在类结构体中,可以在方法上也可以在方法下。当主方法使用static修饰,使用需要使用的成员变量也需要static修饰。(否则报错:无法从静态上下文引用非静态变量) 如果没有赋值...

    变量和运算符
    一、变量
    计算机分配的一块存储空间,可以赋值和取值。

    1、变量的分类
    (1)成员变量
    直接声明在类结构体中,可以在方法上也可以在方法下。当主方法使用static修饰,使用需要使用的成员变量也需要static修饰。(否则报错:无法从静态上下文引用非静态变量)
    如果没有赋值系统会分配默认值:

    	整数		0
    	小数		0.0
    	字符		空
    	引用		null
    	布尔		false
    

    作用域:可以在整个类中使用,切使用的变量必须先进行声明
    (2)局部变量
    声明在方法内部和代码块中,使用前必须赋值,不存在默认值。
    作用域:在方法和代码块的{ }中使用

    二、运算符

    1、算术运算符
    (1)算术运算符
    +、-、*(乘)、/(除)、%(取模)

    2、自增自减
    只能用于变量不能够用于常量 ,优先级高于算术运算符
    (1)自增(++)

       int i=1		int j=1
    

    i++ 和++j 都是一个表达式,他们表达的值是不一样的。第一次自增的时候,i=1,i++这个表达式的值为1,++j的值为2。这就是两者的区别。自增完成后 i本身的值都变成了2。

    	int k=i++;	// i++的值为1,k=1		
    	int m=++j;	//++j的值为2,m=2
    

    (2)自减(——)
    同理自增。i—和—i两个表达式的值不一样。

    3、赋值运算符
    =、+=、-=、*=、/=、%= 共五个 (将+=这种形式看成一个整体)
    (1)赋值运算

        int a=1;
    	a += 2;相当于把2累加到a,可以理解为a=a+2;但是两者并不等价。
    	short a=2;
    	a += 2;//不报错,因为存在隐式转换
    

    而a = a+2; a为short 、2为int。a+2的结果自动转化为int ,导致int转换为short有精度损失而报错。

    4、比较运算符
    ==、!=、>、<、>=、<=、instenceof

    (1)比较运算符的结果为boolean类型的值(false、true)
    (2)instenceof 用于判断一个对象是否属于某一类型。

    5、逻辑运算符
    &、|、&&(双与)、||(双或)、^(异或)、!(非)
    (1)规则
    ^(异或)两边不一样,结果为true。
    !布尔型取反。
    (2)双与双或
    双与双或最大的特点是具有短路功能:
    (逻辑表达式1)&&(逻辑表达式2)(单与、或会判断两边的表达式)
    当在判断逻辑表达式1的时候判断出结果为false的时候,就已经可以判断出整个表达式的值为false,就没有必要执行逻辑表达式2,完成短路。
    双或同理:判断出左边的表达式为true时,整个表达式的值为true,不执行右边的语句。

    (3)注意事项
    表达0~100之间:a>0&&a<100 0<a<100(错误)式

    6、位运算符
    &、|、^(按位异或)、~(按位取反)、>>(右移)、<<(左移)、>>>(无符号右移)

    7、三目运算符
    X?Y:Z
    (1)规则
    X是一个boolean的值或者结果为boolean的表达式。
    Y、Z是数据类型相同的值或者表达式。
    当X的值为true是执行Y,为false的时候执行Z。

    展开全文
  • Day01 数据类型,变量,运算符 ...数据类型的分类 A,数据类型的作用: (1)告诉JVM ,你要多大的内存空间 (2)告诉JVM, 你要存储什么类型的数据 A,主要分为两大类 基本数据类型和引用数据类型 B,基本数据类型(...

    Day01 数据类型,变量,运算符

    ,程序及数据类型

    1. 什么是程序

           程序 = 数据 + 业务逻辑

    1. 数据类型的分类

           A,数据类型的作用:

           (1)告诉JVM ,你要多大的内存空间

           (2)告诉JVM, 你要存储什么类型的数据

           A,主要分为两大类

           基本数据类型和引用数据类型

           B,基本数据类型(4大类)

           整型,浮点型,字符型,布尔型

           C,引用类型

           数组, , 接口

    1. 整型的分类(用来存储整数)

           A,byte 字节型 1字节

           B,short 短整型 2字节

           C,int 整型 4字节

           D,long 长整型 8字节

    1. 浮点型的分类(用来存小数)

           float 单精度浮点型 4字节      保证准确小数位6

           double 双精度浮点型 8 字节   保证给你准确的小数位15

    1. 字符型(用来存字符)

           ‘a’

           ‘

           Javachar unicode存储的

           char 字符型  2字节

    1. 布尔类型(用来存真假)

           boolean  1字节

    1. 数据类型数的表示范围

    ,常量的含义及分类

    1. 常量的定义

           程序运行期间不可改变的量

    1. 常量的分类

    整型常量: 56, 78L,0xEF, 067

    浮点型常量: 6.5F, 7.8

    字符型常量: ‘a’, ‘’,

             布尔类型常量: true, false

    ,变量的含义及定义

    1. 变量的含义

           程序运行期间可以改变的量

    1. 变量的定义三要素

           数据类型 变量名 = 初值

           int a = 1

    1. 标识符的规则

           标识符一般来表示变量名, 方法名, 类名, 接口名等.

           Java中标识符可以有字母(a-z A-Z), 数字0-9, 下划线_, 美元符号($)组成, 且不能以数字打头

    1. 变量的使用规则

           A,变量的命名满足标识符的基本原则

           B,变量名不能占用系统关键字

           error:

           int public = 5;

           C,变量名要见名知意

           int count = 5;

           int minAge = 9;

           D,变量名不能重名

           error:

           int a = 5;

           int a = 7;

           E,变量名如果有多个单词组成, 应使用小驼峰命名法(maxAge)

             ps:有的标识符是使用大驼峰, 比如类名,接口名

           F,变量要先定义,后使用

           error:

           a = 6;

    (5)定义变量注意事项

           A,float类型的变量, 小数后要加Ff

           B,long类型的变量, 数字后要加Ll

    ,数据类型的转换

    (1)自动数据类型转换

           A, 小容量往大容量存储时, 小容量自动转化成大容量类型

           B, 不同类型进行运算时, 小容量会自动转换成大容量类型, 但是有几个特例

             (1)floatlong的混合运算, 会变成float

           PS:因为计算机的底层对于小数的存储是用指数形式存储的,32位的float,64位的long

    (2)byte char short 之间不做转换运算, 运算的话,都会先变成int再做运算.

    C,转换规则:

    byte, short, char → int→long→float→double

    (2)强制类型转化

    大容量转小容量, 需要强制类型转化, 但是可能会损失数据.

    强转符:(需要转换的类型)

    (3)两种默认常量类型

    :57是默认int

    :5.8默认是double

    所以有时候需要在常量后面加L或者F

    :字符串

    字符串类型:  String str = “abc”;

    字符串与基本类型使用+运算是做字符串连接, 不能-,*...

    注意:

           字符串在前, 是逐个连接. 字符串在后, 先运算前面的基本类型的结果再连接, 因为是从左往右运算的..

    ,运算符

    1. 基本运算符的分类

    =,+, - , *, / , %

    A, +, - , *, / 和数学运算一样

    B, % , 取两个数相除的余数, 余数符号位和被除数一致

    注意:

    (1)两个整数相除, 得到还是一个整数, 把一个换成小数, 结果就是小数

    (2)除数不能为0

    (3)运算符的优先级和结合性

    (4)=赋值运算符, 自右向左赋值

    1. 复合运算符

    +=, -=, *=, /=, %=

    a += b, 相当于 a = a + b;

    1. 自增自减运算符

    ++, --

    A:++ 自增1, 可以在变量前, 也可以在变量后

    B: -- 自减1, 可以在变量前, 也可以在变量后

    //               int a = 5;

    //               int b = 0;

    //               //++在变量后,先赋值, 再自增1

    //               //相当于 b = a;

    //               // a = a + 1;

    //               b = a++;

     

    //++在变量前,先自增1, 再赋值

    //a = a + 1;

    //b = a;

    1. 位运算符

    &, |, ^, ~, <<, >>

    ,常用输出制表符和转义字符

    (1)输出制表符

    \t, \n

    (2)转义字符

    \’’, \’

    (3) 输出方式

    System.out.println()

    //不带回车换行

    System.out.print()

    ,表达式和语句

    表达式, 由运算符, 变量组成的式子就是表达式

    一个;就是一个语句

    ,控制台输入Scanner

                       //创建控制台输入对象

                       Scanner scanner = new Scanner(System.in);

                       System.out.println("请输入长:");

                       //从控制台取出一个整数,存入length

                       int length = scanner.nextInt();

                       System.out.println("请输入宽:");

                       int width = scanner.nextInt();

                       //double c = scanner.nextDouble();

                       int perimeter = (length + width) * 2;

                       int area = length * width;

                       System.out.println("周长是:" + perimeter + "面积是:" + area);

     

     

     

    展开全文
  • java中的数据类型与运算符入门第1节:数据类型概述划分数据类型的意义Java的数据类型树堆、栈、常量池、方法区总结提问第2节:基本数据类型基本数据类型的分类每种具体类型的长度及特点每种具体类型的默认值总结提问...

    第1节:数据类型概述

    划分数据类型的意义

    • 如果不把数据划分为不同的类型,那么就没有办法区分出数据之间的差别;
    • 计算机可以根据不同的数据类型,把数据“合理”地存放到内存中;
    • 计算机从内存中读取数据时,也可以根据其数据类型就能确认取到的数据的特征,从而正确地去处理;

    Java的数据类型树

    Java语言的数据类型有两种,即基本数据类型和引用类型
    java的数据类型数

    堆、栈、常量池、方法区

    堆栈

    • 在函数(方法)中定义的基本数据类型变量存储在栈中;
    • 引用类型实例的引用(reference)也是存储在栈中;
    • 引用类型实例的成员变量,存储在堆中;

    总结提问

    • 为什么要划分数据类型?答: 划分数据类型的意义
    • Java的数据类型分哪两种?答:基本数据类型和引用数据类型
    • Java的类型信息存储在哪个内存逻辑区?答:方法区
    • main方法中定义了int i=1;请问这个1存储在内存哪个区?答:栈

    第2节:基本数据类型

    基本数据类型的分类

    • Java语言中的基本数据类型可以分为数值型、字符型、布尔型三大类,具体包 含8个类型;
      基本数据类型

    每种具体类型的长度及特点

    • 每种数据类型在内存中占有不同的长度;
    • 计算机存储设备的最小信息单元叫“位(bit)”,又称之为“比特位”;
    • 连续的8个位成为1个“字节(byte)”;
    • 操作系统分配内存最少1个字节,即8 个位,而不是1个位;
    • 长度越长,所表示的范围就越大;

    基本数据类型长度

    每种具体类型的默认值

    • 每种具体类型都有不同的默认值;
    • 当没有为一个属性变量赋值时,会根据类型为其赋值为默认值;
      默认值

    总结提问

    • Java语言中有哪几种基本数据类型? 答 :byte、short、int、long、float、double、char、boolean
    • 每种基本数据类型的长度是多少,默认值是什么? 答:默认值
    • 不同的基本数据类型之间是否可以转换,转换规则是什么?答:可以; 从表示范围小的类型转换为表示范围大的类型,可以直接转换;从表示范围大的类型转换为表示范围小的类型,需要强制转换;数值类型和boolean类型之间就不能转换;强制也不可以;
    • 如何对基本数据类型的值进行比较运算? 答:可以使用==、!=、>、<、>=、<=对基本数据类型的数值进行比较运算。
    • 常量10默认为什么类型?常量1.2默认为什么类型?答: int double

    本节总结

    • Java语言中有8种基本数据类型,分为数值、字符、布尔三大类;
    • 每种数据类型有不同的长度,最小长度是1个字节,即8位;
    • 每种数据类型都有默认值,需要注意的是boolean的默认值是false;
    • 数据类型之间可以互相转换,表示范围小的可以直接转换到表示范围大的类型;反 之不可以,需要强制转换;
    • 所有基本数据类型都可以使用=直接赋值,需要注意不要超过表示范围;
    • 可以使用==、!= 、>、<、>=、<=对基本数据类型的数值进行比较运算;比较 的是其二进制的值;
    • Java中默认的整数类型是int,默认的小数类型是double ;

    第3节:引用类型概述

    引用类型和基本数据类型的差异

    除了8种基本数据类型,其他类型都是引用类型;
    在这里插入图片描述

    • int a=10; a是基本数据类型
    • Date d=new Date(); d是引用类型

    引用类型的赋值及比较运算

    • 引用类型使用=赋值;
    • 除了String、包装器类(共8个)外,都需要使用new 关键字;
    • 引用类型可以使用==、!=进行比较,比较的是引用类型的地址,不是内容;
    • 引用类型不能使用>、>=、<=、<进行比较;
    //声明两个引用类型变量s1、s2,并使用new进行赋值
    String s1=new String("Hello");
    String s2=new String("Hello");
    //使用==及!=比较s1和s2的地址
    System.out.println("s1==s2"+s1==s2);
    System.out.println("s1!=s2"+s1!=s2);
    

    s1==s2比较的是栈中s1和s2的值,由于s1和s2指向堆中不同的内存空间,所以s1和s2的值不同。因此比较返回false;

    null

    • 当只声明了一个引用类型变量,却没有为其赋值,则此时该变量为null;
    public class Item0301 {
    static String s;
    public static void main(String[] args) {
    System.out.println(s);
    }
    }
    S只是存储在栈中的一个变量,并没有为其赋值,没有指向堆中的任何实际内容,目前值为null
    

    总结提问

    • 基本数据类型和引用类型在内存存储上有什么区别?
    • 使用 == 比较基本数据类型比较的是什么?
    • 使用 == 比较引用数据类型比较的是什么?
    • 能不能用>比较引用类型?
    • 引用类型变量如果只声明没有赋值,变量默认值是什么?
    • 除了类(class)是引用类型外,JDK1.5后又增加了哪些新的类型?

    本节总结

    • 基本数据类型存储在栈中,引用类型的引用存储在栈中,具体内
    容存储在堆中;
    • 引用类型只能使用==及!=,不能使用>、<等,比较的是地址,
    也就是引用的值;
    • 引用类型如果没有赋值,默认是null;
    • JDK1.5后,增加了枚举、注解,后续详细学习;

    第4节:包装器类型

    包装器类型的概念及作用

    • Java语言中有8个基本数据类型,对应有8个类,这8个类统称包装器类型(Wrapper类);
    • 使用这8个包装器类,能够把某一种基本数据类型的变量转换成引用类型,从而使用类中的方法,进行更多的操作;
    包装器

    自动装箱拆箱

    • 装箱:基本数据类型转换为包装器类型,称为装箱(boxing);例如,int型转换为Integer类型;
    • 拆箱:包装器类型转换为基本数据类型,称为拆箱(unboxing);例如Integer类型转换为int类型
    • JDK1.5以后,装箱拆箱可以自动进行;例如:

    //传统的装箱、拆箱
    int a=128;
    Integer ao1=new Integer(a);
    int b1=ao1.intValue();
    //自动装箱
    Integer ao2=a;
    Integer ao3=128;
    //自动拆箱
    int b2=ao2;
    int b3=ao2+ao3
    

    自动装箱拆箱中的池操作

    • 在自动装箱拆箱过程中,Java使用到了常量池;
    • 如下代码所示,i1、i2使用到了自动装箱,io1和io2则没有使用

    Integer i1=10;
    Integer i2=10;
    Integer io1=new Integer(10);
    Integer io2=new Integer(10);
    System.out.println("i1==i2"+(i1==i2));
    System.out.println("io1==io2"+(io1==io2));
    

    • i1 i2使用到常量池,io1、io2没有使用
    i1 i2使用到常量池,io1、io2没有使用;
    • i1和i2的值都是10,所以指向常量池中
    相同的空间;因此i1 == i2返回true;
    • io1和io2使用new创建赋值,所以分别
    指向堆中不同的空间,因此io1 == io2返
    回false;
    在这里插入图片描述

    第5节:字符串类型

    Java中的字符串的final特征

    • 使用了final修饰,意思是不能被扩展,不能被修改

    StringBuffer及StringBuilder与String的区别

    • Java语言中的有一个StringBuffer类,称为字符串缓冲区;所表示的也是一个字符序列;
    • Java语言中的还有一个StringBuilder类,与StringBuffer兼容,但是不保证线程 同步;

    三个类的区别

    • String类是不可变的,对象一旦被创建,就不能被修改;可以使用=直接赋 值,此时使用常量池;也可以使用new创建,不使用常量池;
    • StringBuffer是可变的,对象创建后,可以修改;必须使用new关键字;
    • StringBuilder是不同步的,在单线程情况下使用比StringBuffer高效;必须使 用new关键字;

    总结提问

    • 字符串类用哪个关键字修饰,从而使其不能扩展? finally
    • String类不可变性如何理解? 再次给string赋值,String指向一个新的地址,而不是改变自己。
    • =直接对字符串赋值和使用new赋值,有什么区别? =对字符串赋值是指向常量池,new赋值是在堆中开辟一个新的地址。
    • String/StringBuffer/StringBuilder三个类有什么区别?
      三个类的区别

    本节总结

    • 字符串类用final进行了修饰,所以不能扩展;
    • 字符串有不可变性,只要创建,就不能被改变;
    • 用+可以连接两个字符串;
    • 字符串使用到了常量池,多个引用可以共享同一个字符串;但是使用
    new创建的字符串不使用常量池;
    • StringBuffer也表示一个字符串,不过是可变的;
    • StringBuilder类的方法跟StringBuffer一样,不过是不同步的,在单线
    程情况下更高效;

    第6节:数组

    数组的概念与作用

    • 数组是一组类型相同的数据的集合;
    • 也就是说,数组中可以存储多个数据,但是这些数据的类型必须相同;
    • 数组能够作为数据的容器使用,把多个数据集中存储;
    • 存储在数组中的数据,都有相应的索引值,可以方便获取或修改;
    • 当需要同时保存多个类型相同的变量并进行处理时,可以考虑用数组,

    Java中的数组特性

    • Java的数组是引用类型;
    • 数组与类、接口、枚举、注解并列,是引用类型中的一种;
    • Java的数组长度一经确定不能改变;
    • 数组在内存中是连续分配,所以读取速度快

    数组元素

    • 数组中存储的数据称为数组的元素(Element);
    • 数组本身是引用类型,但是数组中的元素可以是基本数据类型,也
    可以是引用类型;
    • 数组中的元素有索引值,索引值从0开始

    基本类型或字符串一维数组的声明与初始化

    • 一维数组的声明形式
    数组元素类型[ ] 变量名称;
    或
    数组元素类型 变量名称[ ] ;
    例如:
    int[] a;int a[];
    String[] s; 或 String s[]

    • 不论数组中元素是什么类型,以上声明形式都适用;

    • 一维数组的初始化
    第一种:数组元素类型[ ] 变量名称=new 数组元素类型[数组长度];
    第二种:数组元素类型[ ] 变量名称=new 数组元素类型[]{用逗号隔开元素的具体值};
    第三种:数组元素类型[ ] 变量名称= {用逗号隔开元素的具体值};
    
    //a1的长度为5,元素的值为默认值0
    int[] a1=new int[5];
    //a2的长度为3,元素的值为1,4,10
    int[] a2=new int[]{1,4,10};
    //a3的长度为4,元素的值为34,23,4,10
    int[] a3={34,23,4,10};
    

    在这里插入图片描述
    • 数组是引用类型,a保存数组的首地址,指
    向堆中数组的具体内容;
    • 数组元素使用索引表示,如a[0]、a[1]……

    数组的长度

    • 在创建数组的时候,一定要确定数组的长度;
    • 数组的长度将在初始化数组元素的时候同时初始化到内存中;
    • 使用 数组变量名.length 可以返回数组的长度;

    int[] a1=new int[5];
    int[] a2=new int[]{1,4,10};
    int[] a3={34,23,4,10};
    System.out.println("a1的长度:"+a1.length);
    System.out.println("a2的长度:"+a2.length);
    System.out.println("a3的长度:"+a3.length);
    

    一维数组遍历

    int[] a=new int[]{1,2,10};
    //使用for循环遍历
    for(int i=0;i<a.length;i++){
    System.out.println(a[i]);
    }
    //使用增强for循环遍历
    for(int x:a){
    System.out.println(x);
    }
    

    数组排序

    • Java API中有一个类 Arrays,定义了大量的sort方法,可以对数组中元素进行排
    序;

    int[] a=new int[]{12,3,90,1,2,10};
    //使用API中的Arrays类的sort方法可以排序
    Arrays.sort(a);
    for(int x:a){
    System.out.println(x);
    }
    

    总结提问

    • 数组有什么作用?
    • Java语言中的数组有什么特点?
    • 如何声明并创建数组?
    • 如何遍历数组?
    • API中哪个类提供了数组排序方法?
    • 如何声明一个二维数组?

    本节总结

    • Java中的数组是与类、接口、枚举、注解并列的一种引用类型;
    • 数组中的元素必须类型相同,可以是基本数据类型,也可以是引用类型;
    • 建议使用int[] 形式声明数组,或者二维数组int[][];
    • 创建数组的时候,要么直接赋值,要么指定长度使用默认值;
    • 数组的长度一旦被确定,不能再修改;
    • 数组长度是一个属性,用length表示;
    • 可以使用for循环遍历数组;本章作为了解;
    • Arrays类的sort方法提供了数组排序的方法;本章作为了解;

    展开全文
  • C语言中操作符表达式 操作符分类:算数操作符,移位操作符,位操作符,赋值操作符,...1.除了%操作符之外,其他几个操作符可以作用于整数浮点数。 2.多于 / 操作符如果两个操作数都为整数,执行整数除法。而...
  • 抽象类接口 抽象类的规则及应用 接口的规则及应用 默认方法、静态方法、函数式接口、Lambda表达式 异常 异常的定义 异常的处理:抓(try-catch-finally)、抛(throws) 异常的分类、自定义异常的应用、throw关键字 ...
  • 2.1 作用存储分类 2.1.1 局部变量全局变量 2.1.2 外部变量寄存器变量 2.2 表达式 2.2.1 算术表达式 .2.2.2 关系表达式 2.2.3 逻辑表达式 2.2.4 位运算表达式 2.2.5 逗号表达式 ...
  • Javascript

    2021-01-30 13:40:28
    目录 第一章、基础总结 数据类型(字面量) ...基本和引用数据类型 对象相关问题 函数 返回值类型 枚举对象 全局作用域 IIFE 声明提前 函数作用域 函数对象
  •  10.2 数据的分类统计程序  10.3 数据转换程序  10.4 文件操作程序  10.5 动态数据的编程  10.6 COM文件的编程  10.7 驻留程序  10.8 程序段前缀及其应用  1 程序段前缀的字段含义  2 程序段前缀的应用 ...
  •  10.2 数据的分类统计程序  10.3 数据转换程序  10.4 文件操作程序  10.5 动态数据的编程  10.6 COM文件的编程  10.7 驻留程序  10.8 程序段前缀及其应用  1 程序段前缀的字段含义  2 程序段前缀的应用 ...
  • 17.1.2 位置的和名称参数 79 17.1.3 属性参数类型 79 17.2 规范 79 17.3 属性实例 79 17.3.1 一个属性编译 79 17.3.2 一个属性实例运行时检索 79 17.4 保留属性 79 17.4.1 AttributeUsage 属性 79 17.4.2 ...
  •  10.2 数据的分类统计程序  10.3 数据转换程序  10.4 文件操作程序  10.5 动态数据的编程  10.6 COM文件的编程  10.7 驻留程序  10.8 程序段前缀及其应用  1 程序段前缀的字段含义  2 程序段前缀的应用 ...
  •  10.2 数据的分类统计程序  10.3 数据转换程序  10.4 文件操作程序  10.5 动态数据的编程  10.6 COM文件的编程  10.7 驻留程序  10.8 程序段前缀及其应用  1 程序段前缀的字段含义  2 程序段前缀的应用 ...
  •  10.2 数据的分类统计程序  10.3 数据转换程序  10.4 文件操作程序  10.5 动态数据的编程  10.6 COM文件的编程  10.7 驻留程序  10.8 程序段前缀及其应用  1 程序段前缀的字段含义  2 程序段前缀的应用 ...
  • c语言操作符

    2019-09-21 20:51:52
    对c语言中操作符整理如下 操作符分类 算术操作符 移位操作符 ...下标引用、函数调用结构成员 ...在这里我们主要介绍以下操作符表达式 ...除了 % 操作符之外,其他几个操作符可以作用于整数浮...
  • C#本质论(第3版)

    2012-07-17 18:07:03
    2.4 类型的分类 2.4.1 值类型 2.4.2 引用类型 2.5 可空修饰符 2.6 数据类型之间的转换 2.6.1 显式转型 2.6.2 隐式转型 2.6.3 不进行转型的类型转换 2.7 数组 2.7.1 数组的声明 2.7.2 数组的实例化赋值 ...
  • 2.5.2 算术表达式和运算符的优先级与结合性 2.5.3 表达式中各类数值型数据间的混合运算 2.5.4 自增自减运算符 2.5.5 强制类型转换运算符 2.6 赋值运算符与赋值表达式 2.6.1 赋值运算符 2.6.2 赋值过程中的类型转换...
  • 第3章 Java中基本数据类型和运算符 33 教学视频:1小时5分钟 3.1 Java中基本数据类型 33 3.1.1 基本数据类型——编程语言中数据原子 33 3.1.2 Java中基本上数据类型介绍 34 3.1.3 基本数据类型值域 34 ...
  • 2.5.2 算术表达式和运算符的优先级与结合性 2.5.3 表达式中各类数值型数据间的混合运算 2.5.4 自增自减运算符 2.5.5 强制类型转换运算符 2.6 赋值运算符与赋值表达式 2.6.1 赋值运算符 2.6.2 赋值过程中的类型转换...
  • C语言 大学实用教程 第三版

    热门讨论 2013-07-22 14:14:38
    5.2.1函数的分类 5.2.2函数的定义 5.2.3函数的调用、参数传递返回值 5.2.4函数原型 5.2.5主函数main()的特殊性 5.3变量的作用存储类型 5.3.1变量的作用域 5.3.2全局变量 5.3.3变量的存储类型 5.4...
  • 第3章 Java中基本数据类型和运算符 33 教学视频:1小时5分钟 3.1 Java中基本数据类型 33 3.1.1 基本数据类型——编程语言中数据原子 33 3.1.2 Java中基本上数据类型介绍 34 3.1.3 基本数据类型值域 34 ...
  • 第3章 Java中基本数据类型和运算符 33 教学视频:1小时5分钟 3.1 Java中基本数据类型 33 3.1.1 基本数据类型——编程语言中数据原子 33 3.1.2 Java中基本上数据类型介绍 34 3.1.3 基本数据类型值域 34 ...
  • 引用类型原始类型具有不同特征用法,它们包括:大小速度问题,这种类型以哪种类型数据结构存储,当引用类型原始类型用作某个类实例数据时所指定缺省值。对象引用实例变量缺省值为 null,而原始...
  • excel使用

    2012-11-25 17:06:01
    $#,##0.00_)” 使用条件运算符也可以作为缩放数值强有力辅助方式,例如,如果所在单位生产几种产品,每个产品中只要几克某化合物,而一天生产几千个此产品,那么在编制使用预算时,需要从克转为千克、吨,这时...
  • Objective-C2.0程序设计

    2013-04-14 19:22:27
    第11章 分类和协议 11.1 分类 11.2 协议 11.3 合成对象 11.4 练习 第12章 预处理程序 12.1 #define语句 12.1.1 更高级定义类型 12.1.2 #运算符 12.1.3 ##运算符 12.2 #import语句 12.3 条件编译 12.3.1 #ifdef、...
  • 4.Excel引用运算符 5.IP地址的分类 6.子网掩码作用 7.以太网技术标准 8.多媒体压缩技术 9.图像大小 图像文件的大小 = 图像分辨率×颜色深度÷8 10.音视频文件大小 音频文件的存储大小=采样频率采样精度声道数...
  •  10.1.3文件的分类  10.1.4文件缓冲区  10.1.5文件类型指针  10.2打开与关闭文件  10.2.1用fopen函数打开数据文件  10.2.2用fclose函数关闭数据文件  10.3顺序读写数据文件  10.3.1怎样向文件读写字符  ...
  • 11分类和协议 12预处理程序 13基本c语言特性 14foundation框架简介 15数字、字符串和集合 16使用文件 17内存管理和自动引用计数 18复制对象 19归档 20cocoa和cocoa touch简介 21编写ios应用程序 附录a...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 173
精华内容 69
关键字:

引用运算符的分类和作用