主要介绍的编程结构和对本章节的大概介绍。
基本数据类型主要有四个大类型来储存数据即:整数类型、浮点类型、字符类型、布尔类型。
整数类型用来存储整数数值,可以是正数,也可以是负数但没有小数数值,根据数据大小和精度可以分为四个类型即:int、short、int、long。它们的取值范围如下图所示
int型是Java的默认数据类型,多个未进行定义数据类型进行运算时,结果默认为int型
byte型和short定义方式与int型相同
long型取值范围比int型大且属于高精度数据类型,所以在赋值时要与其他类有所区别。要在后面加上大写的L。
整数类型定义方式代码如下
public class ll {
public static void main(String[] args) {
// TODO Auto-generated method stub
byte b = 3;
System.out.println(b);
short s =456 ;
System.out.println(s);
int i =987654321 ;
System.out.println(i);
long l =1234567890123L ;
System.out.println(l);
}
}
浮点类型用来储存小数部分的数值主要分为单精度,双精度的浮点数据类型,且取值范围不同。取值范围如下图:
运行代码及运行效果如下
public class ll {
public static void main(String[] args) {
// TODO Auto-generated method stub
float f =0.3F;
System.out.println(f);
double d =3.1415;
System.out.println(d);
package hhhh;
public class bmi {
public static void main(String[] args) {
// TODO Auto-generated method stub
double height = 1.75;//
int weight =86;
double exponent = weight /(height*height);
System.out.println("您的身高为:"+height);
System.out.println("您的体重为:"+weight);
System.out.println("您的BMI指数为:"+exponent);
System.out.print("您的体重属于:");
if (exponent<18.5) {
System.out.println("体重过轻");
}
if ( exponent >= 18.5 &&exponent <24.9) {
System.out.println("正常体重");
}
if(exponent >=24.9 && exponent <29.9){
System.out.println("体重过重");
}
if(exponent >=29.9) {
System.out.println("肥胖");
}
}
}
1.char型
字符型用储存单个字符在定义字符型变量时,要以单引号表示,如'a'表示一个字符。双引号表示一个字符串,要区别开来。语法如下
char x='a'
运行代码及运行效果:
package aixin2;
public class xin2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
char word = 'd', word2 = '@';//定义char型变量
int p = 23045, p2 = 45213; //定义 int 型变量
System.out.println("d在Unicode表中的顺序位置是:"+ (int) word);//输出结果
System.out.println("@在Unicode表中的顺序位置是:"+ (int) word2);
System.out.println("Unicode表中的第23045位是:"+ (char) p);
System.out.println("Unicode表中的第45213位是:"+ (char) p2);
}
}
2.转义字符
转义字符是一种特殊变量,它以反斜杆“\”开头,转义字符有特殊的含义,不同原意。Java中转义字符表如下
运行代码及效果如下:
public class Ho {
public static void main(String[] args) {
// TODO Auto-generated method stub
char c1 ='\\';
char char2 ='\u2605';
System.out.println(c1);
System.out.println(char2);
}
}
布尔型又称逻辑型通过关键字boolan来定义变量。布尔型只有两个值,代表真和假。用true和false表示。代码如下
boolean b; //定义布尔变量 b
boolean b1,b2; //定义布尔变量 b1 b2
boolean b=true; //定义布尔变量 b 并赋给初值true
标识符是用来标识类名、变量明、方法名、数组名、文件名的有效字符序列,JJava语言规定标识符由任意顺序的字母、下画线( _ )、美元符号$和数字组成。且第一个字不能是数字,不能是Java关键字。
下面是合法标识与不合法标识
合法 name、user_age、 $page;不合法4word、String、User name
2.关键字如下表
声明变量是告诉编译器变量是什么类型,这样才知道要多少空间及能放什么数据。运行过程中,空间是变化的,这个空间就是变量。声明变量时可以不赋值也可以直接赋值。
代码如下
public class ll {
public static void main(String[] args) {
// TODO Auto-generated method stub
int b;
int k;
}
}
运行过程中一直不变的是常量,常量只能赋值一次。可以为所有的对象共享
运行代码及效果如下
package bianliang;
public class liang {
static int age =23; //定义成员变量
static final double pi =3.14;
public static void main(String[] args) {
// TODO Auto-generated method stub
final int number; //定义常量
number =12345;
System.out.println(number);
System.out.println(age);
System.out.println(pi);
}
}
赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理 其功作数所含的值赋给左方的操作数
package kk;
import java.util.Scanner;
public class ll {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.print("请书入两个数值,用空格隔开(num1 num2):");
double num1 =sc.nextDouble();
double num2 =sc.nextDouble();
System.out.println("num1+num2的和为"+(num1+num2));
System.out.println("num1-num2的差为"+(num1-num2));
System.out.println("num1+num2的积为"+(num1*num2));
System.out.println("num1+num2的商为"+(num1/num2));
System.out.println("num1+num2的余数为"+(num1%num2));
sc.close();
}
}
符号在前先运算后使用,符号在后先使用后运算
package pp;
public class p {
public static void main(String[] args) {
// TODO Auto-generated method stub
int number1 =4;
int number2 =5;
System.out.println("number1>number2的返回值为:"+(number1> number2));
System.out.println("number1=number2的返回值为:"+(number1>= number2));
System.out.println("number1<=number2的返回值为:"+(number1<= number2));
}
}
&&:两者都为真,结果才为真
||:只要一者为真,结果就为真
!:非真即假,非假即真
package aixin2;
public class xin2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int boys =15;
int grils =17;
int totle =boys + grils;
boolean result1 = ((boys >grils)&&(totle >30));
boolean result2 = ((boys >grils)||(totle >30));
System.out.println("男生人数大于女生人数并且总人数大于30人:" + result1);
System.out.println("男生人数大于女生人数或者总人数大于30人:" + result2);
}
}
&"与:两者都为1,结果才是1。
"|"或:只要有一者为1,结果就是1。
"~"取反:0变1,1变0。
"^"异或:两者相同即为0,不同为1
<<"左移:空位补0,溢出去掉。
">>"右移:正数补0,负数补1溢出去掉。
">>>"无符号右移:整体右移,空位补0,溢出去掉
条件式 ?值1:值2
若条件为真,表达式的值取1。否则取值2
package liu;
public class liuu {
static int age = 23;
public static void main(String[] args) {
// TODO Auto-generated method stub
int a =6;
int b=a>9 ? --a:7;
System.out.println(a);
System.out.println(b);
}
}
隐式类型转换:又叫自动类型转换在转换过程中一定不会丢失数据,容量大的变量转换为容量小的数据类型时自动转换
显示类型转换:又叫强制类型转换在换过程中可能会丢失数据,容量小转化为容量大的变量时必须使用显示类型转换(强制类型转换)
package diyi;
public class h {
public static void main(String[] args) {
// TODO Auto-generated method stub
byte mybyte = 127;
int myint =150;
float myfloat =452.12f;
char mychar =10 ;
double mydouble =45.46546;
System.out.println("byte型与float型数据进行运算结果为:"+(mybyte +myfloat));
System.out.println("byte型与int型数据进行运算结果为:"+(mybyte +myint));
System.out.println("byte型与char型数据进行运算结果为:"+(mybyte +mychar));
System.out.println("double型与char型数据进行运算结果为:"+(mydouble +mychar));
}
}