1.变量是用来保存数据的,变量占据着一块内存。数据的保存是靠变量来完成的。
函数是用来描述实现操作过程的(在类中,函数也叫做方法)。函数可以是 JDK 提供的(API),也可以是自己定义的。函数可以处理数据。
2.
函数的参数是数据的入口,函数没有参数,数据就进不来。参数传递全部都是值传递的。
函数的返回值是数据的出口,要想从函数得到结果,就必须为函数定义返回值。例:
void print(int age){
System.out.println("年龄是:"+age) ;
}
在该函数中,定义了整型参数,所以一个整型数据可以传进函数体内,实现打印功能。
3.变量相关概念
数据类型:基本数据类型、类、接口及数组
每个变量都有类型,每个表达式也有类型,不同的数据存储在不同的数据类型中,而且每种类型都是严格定义的。
数据类型 变量名=变量值
基本数据类型:数字{整形(byte.short .int .long)、非整型(double.float)}、非数字{char.boolean}
一个字符占两个字节,int占4个字节(取值范围:正负21亿/255的四次方),long 占8个字节(不能放汉字),short占2个字节(取值范围:正负3万),byte占2个字节(意义:字节 取值范围:-128——127),byte也可存字符(一个字母,转化为ASII码),double占8个字节,float占4个字节,char占2个字节,boolean占1字节(取ture/false)
String字符串不属于基本数据类型
复杂数据类型:类和接口
JVM还定义了索引(reference)数据类型。索引类型分成三种,它们分别是:类(class)、接口(interface)和数组(array)。索引还可以包含特殊的值——null 索引。null 索引在运行时并没有对应的类型,但它可以被转换为任何类型。索引类型的默认值就是null。
a.类
类(class)指的是定义了方法和数据的数据类型。类就是对象的模板,而对象就是类的一个实例。类是抽象的概念描述,对象是具体的实例。类的作用:描述事物特性
b.接口接口(interface)类似于模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用。
接口不能被实例化。类可以实现多个接口并且通过这些实现的接口被索引。
c.数组
数组只能索引数组的实例或者null,例:
int[] array1 = new int[5];
int[] array2 = null;
数组继承Object类,数组对象由元素组成。元素的数目也可以为0,在这种情况下称作数组为空。所有的数组都是从0开始对元素编号的,即数组内的第1个元素的索引编号是数字0。数组的元素按整型值索引。
4.数据类型转换
a.自动类型转换(小空间——>大空间)
实现自动转化需要满足以下两个条件:
(1)两种类型是相互兼容的,例如int型可以兼容所有有效的byte值。
(2)目的类型要比源类型表达的数据范围广。
public class AutomatismTest
{
public static void main(String args[])
{
byte b='a';
int i=b;
System.out.println("byte-->int:"+i);
float f=i;
System.out.println("int-->float:"+f);
double d=b;
System.out.println("byte-->double:"+d);
}
}
b.强制类型转换(大空间——>小空间)
强制类型转换是一种显性的类型转换,它的一般形式如:(type)value;
其中type表示转换后的类型,value表示需要转换的值。
public class IntToByte
{
public static void main(String args[])
{
int i=300;
byte b=(byte)i;
System.out.println("i(300)-->byte:"+b);
}
}
int i=Integer.parseInt(str);//将str转换为int
数组
数组定义同类型的一批变量,是表示多个相同类型变量的集合。数组可以定义为任意数据类型,并且可分为一维数组或多维数组。数组中的每一个元素都可以通过相对应的下标来访问。
定义方式:
int[ ] scores=new int [5] //定义类型及空间的多少,下标为0-4 scores[0]=10;
int[ ] scores={10.20.30.40.50}; //定义类型、空间以及值
int [ ] scores=new int[ ]{10.20.30.40.50};
a.一维数组
一维数组实质上是相同类型变量的列表。要创建一个数组,你必须首先定义数组变量所需的类型。通用声明格式:
type var-name[ ]; (type定义了数组的基本类型)
例如int型的一维数组:
int number[];
这个数组的值为null。
运算符new 是专门用来分配内存的运算符,为其分配地址并且把它赋给number。其格式为:
array-var = new type[size];(type指定被分配的数据类型,size指定数组中元素的个数,array-var是被链接到数组的数组变量)
例如给number分配10个整型元素:
number=new int[10];
在数组定义时指定元素的初始值,即数组的初始化。如:
int a[5]={1,2,3,4,5};
在这个数组中,变量类型为int,且声明了数组元素为5个,数组元素分别为1、2、3、4、5。
若[ ]里声明元素个数为5,而{ }里我们只写了3个元素,那么剩下的用0补齐。例如:
int a[5]={1,2,3};
//等价于:
int a[5]={1,2,3,0,0};
//又如:
int a[10]={0};
//a[0]~ a[9]的值都为0
声明一个char数组,循环打印出小写字母a~z,代码如下:
public class CharArray
{
public static void main(String args[])
{
char c[]=new char[26];
for(int i=0;i<26;i++)
{
c[i]=(char)('a'+i);
System.out.print(c[i]+" ");
}
System.out.println();
}
}
b.多维数组
二维或二维以上的数组统称为多维数组。定义多维数组变量要将每个维数放在它们各自的方括号中。
例如,定义一个名为twain的二维数组变量。
int twain[][] = new int[4][5];
该语句分配了一个4行5列的数组并把它分配给数组twain,它的元素个数为4×5=20个。实际上可以通过一个矩阵表示int 类型的二维数组被实现的过程。
多维数组赋值,例:public class Twain{
public static void main(String args[]){
int twain[][]=new int[4][5];
int k=0;
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
k++;
twain[i][j]=k;
}
}
for(int m=0;m<4;m++){
for(int n=0;n<5;n++){
System.out.print(twain[m][n]+" ");
}
System.out.println();
}
}
}
6.
运算符
a.算术运算符:
+、-、*、/ | 加减乘除 |
% | 取余 |
++、-- | 递增、递减 |
+=、-=、*=、/= | 加减乘除法赋值 |
%= | 取余赋值 |
b.关系运算符
== | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
c.逻辑运算符
&& | 与 |
|| | 或 |
! | 非 |
优先级:非与或