Java 语言的数据类型分为两种:基本数据类型和引用数据类型。
(1) 基本数据类型包括 boolean(布尔型)、float(单精度浮点型)、char(字符型)、byte(字节型)、short(短整型)、int(整型)、long(长整型)和 double (双精度浮点型)共 8 种。所有的基本数据类型的大小(所占用的字节数)都已明确规定,在各种不同的平台上保持不变,这一特性有助于提高 Java 程序的可移植性。
(2) 引用数据类型建立在基本数据类型的基础上,包括数组、类和接口。引用数据类型是由用户自定义,用来限制其他数据的类型。另外,Java 语言中不支持 C++ 中的指针类型、结构类型、联合类型和枚举类型。
基本数据类型又可分为 4 大类,即整数类型(包括 byte、short,int 和 long)、浮点类型(包括 float 和 double)、布尔类型和字符类型(char),下面分别介绍这 4 大类数据类型。
整数类型Java 定义了 4 种整数类型变量:字节型(byte)、短整型(short)、整型(int)和长整型(long)。这些都是有符号的值,正数或负数。
字节型(byte)
byte 类型是最小的整数类型。当用户从网络或文件中处理数据流时,或者处理可能与 Java 的其他内置类型不直接兼容的未加工的二进制数据时,该类型非常有用。
短整型(short)
short 类型限制数据的存储为先高字节,后低字节,这样在某些机器中会出错,因此该类型很少被使用。
整型(int)
int 类型是最常使用的一种整数类型。
长整型(long)
对于大型程序常会遇到很大的整数,当超出 int 类型所表示的范围时就要使用 long 类型。
浮点类型浮点类型是带有小数部分的数据类型,浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。单精度浮点型(float)和双精度浮点型(double)之间的区别主要是所占用的内存大小不同,float 类型占用 4 字节的内存空间,double 类型占用 8 字节的内存空间。双精度类型 double 比单精度类型 float 具有更高的精度和更大的表示范围。
布尔类型布尔类型(boolean)用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。Java 中用保留字 true 和 false 来代表逻辑运算中的“真”和“假”。因此,一个 boolean 类型的变量或表达式只能是取 true 和 false 这两个值中的一个。在 Java 语言中,布尔类型的值不能转换成任何数据类型,true 常量不等于 1,而 false 常量也不等于 0。这两个值只能赋给声明为 boolean 类型的变量,或者用于布尔运算表达式中
boolean isable; // 声明 boolean 类型的变量 isable
boolean b = false; // 声明 boolean 类型的变量 a,并赋予初值为 false
字符类型
Java 语言中的字符类型(char)使用两个字节的 Unicode 编码表示,可以使用单引号字符或者整数对 char 型赋值。
字符型变量的类型为 char,用来表示单个的字符,例如:
char letter = 'D';
char numChar = '5';
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来 *** 纵变量。我们可以把运算符分成以下几组:
算术运算符运算符 | 描述 | 例子 |
---|---|---|
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左 *** 作数减去右 *** 作数 | A – B 等于 -10 |
* | 乘法 - 相乘 *** 作符两侧的值 | A * B等于200 |
/ | 除法 - 左 *** 作数除以右 *** 作数 | B / A等于2 |
% | 取余 - 左 *** 作数除以右 *** 作数的余数 | B%A等于0 |
++ | 自增: *** 作数的值增加1 | B++ 或 ++B 等于 21(区别详见下文) |
-- | 自减: *** 作数的值减少1 | B-- 或 --B 等于 19(区别详见下文) |
其中“+”还可作为字符串的连接符
int b=520;
System.out.println("我爱java"+b);
输出展示:
关系运算符运算符 | 描述 | 例子 |
---|---|---|
== | 检查如果两个 *** 作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个 *** 作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
> | 检查左 *** 作数的值是否大于右 *** 作数的值,如果是那么条件为真。 | (A> B)为假。 |
< | 检查左 *** 作数的值是否小于右 *** 作数的值,如果是那么条件为真。 | (A |
>= | 检查左 *** 作数的值是否大于或等于右 *** 作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左 *** 作数的值是否小于或等于右 *** 作数的值,如果是那么条件为真。 | (A <= B)为真。 |
下面的简单示例程序演示了关系运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}
以上实例编译运行结果如下:
位运算符Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。
位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:
A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011 下表列出了位运算符的基本运算,假设整数变量 A 的值为 60 和变量 B 的值为 13:逻辑运算符
下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假:
赋值运算符 条件运算符(?:)条件运算符也被称为三元运算符。该运算符有3个 *** 作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量
ublic class Test {
public static void main(String[] args){
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " + b );
// 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
b = (a == 10) ? 20 : 30;
System.out.println( "Value of b is : " + b );
}
}
条件语句
if...else
一个 if 语句包含一个布尔表达式和一条或多条语句
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if...else语句
if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
f(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
嵌套的 if…else 语句
使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}
}
循环
while循环:
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式为 true,循环就会一直执行下去。
for循环:for(初始化语句; 判断条件语句;控制条件语句 )
{
//循环语句
}
(1)初始化语句:
一条或者多条语句,这些语句完成初始化 *** 作 只在循环开始时运行一次;
(2)判断条件语句:
这是一个boolean表达式,这个表达式决定循环是否继续进行;
(3)控制条件语句:
这个部分在一次循环结束后,下一次循环判断条件执行前执行。通过控制循环条件中的变量,使得循环在合适的时候结束。
do...while循环:对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
do {
//代码语句
}while(布尔表达式);
布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
break 关键字break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
continue 关键字continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到控制条件语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
方法Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合,方法包含于类或对象中.方法在程序中被创建。
下面是一个方法的所有部分:
- 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
- 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的 *** 作,但没有返回值。在这种情况下,returnValueType 是关键字void。
- 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
- 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
- 方法体:方法体包含具体的语句,定义该方法的功能。
以下是运用方法的一个输出最大数的程序:
import java.util.Scanner;
public class zuidashu {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int a= sc.nextInt();
int b= sc.nextInt();
int c= sc.nextInt();
int x=zuidashu.max(a,b,c);
System.out.println(x);
}
public static int max(int a, int b, int c) {
if (a > b) {
if (a > c) {
return a;
} else {
return c;
}
} else if (b > c)
{
return b;
}
else
{
return c;
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)