Java主类结构
例:
//package Number;
public class Frist {
static String s1="你好";
public static void main(String[] args) {
// TODO Auto-generated method stub
String s2="Java";
System.out.println(s1);
System.out.println(s2);
}
}
/*1.定义变量,s1赋值给你好
2.定于变量,s2赋值Java
3.输出结果*/
运行结果如下:
基本数据类型
例:
public class Shujuleixing {
public static void main(String[] args) {
// TODO Auto-generated method stub
byte b=2;//定义byte形
System.out.println(b);//输出换行
short z=123;//定义short形
System.out.println(z);//输出换行
int i=12345;//定义int形变量
System.out.println(i);//输出换行
long l=123456789L;//定义long形L大写
System.out.println(l);//输出换行
float h=3.1415926F;//定义float单精度浮点型
System.out.println(h);//输出
double m=2.23333D;//定义double双精度浮点型
System.out.println(m);//输出
}
}
/*定义变量再输出*/
运行结果如下:
例题3.2根据身高体重计算BMI指数
创建BMIexponent类,声明double型变量height来记录身高,单位为米;声明int型变量weight记录体重,单位为千克,根据BMI=体重/(身高*身高)计算BMI指数。
public class BMIexponent {
public static void main(String[] args) {
// TODO Auto-generated method stub
double height=1.65;//身高变量,单位:米
int weight=76;//体重变量,单位:米
double exponent=weight/(height*height);//计算定义重量除以身高和重量乘积
System.out.println("您的身高为:"+height);//输入身高
System.out.println("您的体重为:"+weight);//输入体重
System.out.println("您的BMI指数为:"+exponent);//BMI指数
System.out.println("您的体重属于:");//输入体重
if(exponent<18.5) { //判断BMI指数是否小于18.5
System.out.println("体重过轻");//判断体重过轻
}
if(exponent>=18.5&&exponent<24.9) { //判断BMI指数是否在18.5到24.9之间
System.out.println("正常范围");
}
if(exponent>=24.9&&exponent<29.9) {//判断BMI指数是否在24.9到29.9之间
System.out.println("体重过重");
}
if(exponent>=29.9){//判断BMI指数是否大于29.9
System.out.println("肥胖");}//判断体重肥胖
}
}
运行结果如下:
转义字符
字符类型--char
转义字符--“\”
例:
public class Char {
public static void main(String[] args) {
// TODO Auto-generated method stub
char c1='\\';//将转义字符‘\\’赋值给变量c1
char char2='\u2605';//将转义字符赋值给变量char2
System.out.println(c1);//输出结果\
System.out.println(char2);//输出结果⭐
}
}
运行结果如下:
布尔类型
布尔类型只有true和false两种结果
例:
public class TrueOrFalse {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean b1 = true;
boolean b2 = Boolean.FALSE;
System.out.print(b1);
System.out.print(b2);
}
}
运行结果如下:
变量与常量
一、标识符
1.标识符可以简单地理解为一个名字,是用来标识类名、变量名、方法名、数组名、文件名、的有效字符序列。
2.Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成;不能以数字开头;避开关键字。
二、变量
成员变量:成员变量在整个类中都有效
局部变量:局部变量只在当前代码块中有效
新建一个Part类,设置两个名称不相同的变量
public class Part {
static int age = 23; //成员变量
public static void main(String[] args) {
// TODO Auto-generated method stub
int number; //局部变量
number = 1235; //局部变量
System.out.println(number);
System.out.println(age);
}
}
运行结果如下:
在项目中创建类Val,分别定义名称相同的局部变量与成员变量,当名称相同是成员变量将被隐藏
例:
public class Val {
static int times=3;
public static void main(String[] args) {
// TODO Auto-generated method stub
int times=4;
System.out.print("times的值为"+times);//就近原则
}
}
运行结果如下:
若想保留成员变量和局部变量的方法如下:
public class Val {
static int times=3;
public static void main(String[] args) {
// TODO Auto-generated method stub
int times=4;
System.out.print("times的值为"+Val.times);//times前面+Val.既保留局部表变量也保留了成员变量
}
}
/*1.定义成员变量times
2.主方法
3.定义局部变量times
4.将times的值输出*/
运行结果如下:
三、常量
常量在整个程序中只能被赋值一次
在新建类中创建变量和常量,在主方法中分别将变量和常量赋值,运行结果如下:
public class Part {
static int age = 23; //成员变量
static final double PI=2.134;//声明double型常量PI并赋值
public static void main(String[] args) {
// TODO Auto-generated method stub
final int number; //局部变量
number=1234;
age=23;
number=1235; //错误代码,number为常量,只能被赋值一次
System.out.println(number);
System.out.println(age);
System.out.print(PI);
}
}
/*1.声明int型变量number
2.对常量进行赋值
3.再次对变量进行赋值
4.依次输出结果*/
将运行结果复制到浏览器翻译
运算符
赋值运算符
以符号“=”表示
c=b=a+4是从右往左计算的
a=15;
b=a+4;
c=b;
public class Eval {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a, b, c;
a=15; //将15赋值给变量a
c=b=a+4; //将a与4的和赋值给变量b,然后赋值给变量c
System.out.println("c值为:"+c);
System.out.println("b值为:"+b);
}
}
/*1.创建类
2.主方法
3.声明int型变量a、b、c
4.将15赋值给变量a
5.将a与4的和赋值给变量b,然后再赋值给变量c
6.将变量c的值输出
7.将变量b的值输出*/
运行结果如下:
算术模拟器
使用算术运算符模拟器计算器,使用完需要关闭模拟计算器。
import java.util.Scanner;
public class ArithmeticOperator {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);//创建扫描器
System.out.println("请输入两个数字,用空格隔开(num1 num2):"); //输入提示
double num1= sc.nextDouble(); //记录输入第一个数字
double num2 = sc.nextDouble(); //记录输入第二个数字
//int num1= sc.nextInt(); 也可以用int表示
//int num2 = sc.nextInt();
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(); //关闭扫描器
}
}
运行结果如下:
自增和自减运算符
符号在前先运算再使用,符号在后先使用再运算。
++a(--a)//表示在使用变量a之前,先使a的值加(减)1
a++(a--)//表示在使用变量a之后,再使a的值加(减)1
“++a”与“a++”的作用都相当于a=a+1.假设a=4.则:
b=++a;/先将a的值加1,然后赋给b,此时a的值为5,b的值为5
另一个算法,还是假设a=4,则:
b=a++;//先将a的值赋给b,再将a的值变为5,此时a的值为5,b的值为4
关系运算符
使用不同的比较运算符判断两个整数的关系
public class Compare {
public static void main(String[] args) {
// TODO Auto-generated method stub
int number1=4;
int number2=5;
//依次将变量number1与number2的比较输出
System.out.println("number1>number2的返回值为:"+(number1>number2));
System.out.println("number1<number2的返回值为:"+(number1<number2));
System.out.println("number1==number2的返回值为:"+(number1==number2));
System.out.println("number1!=number2的返回值为:"+(number1!=number2));
System.out.println("number1>=number2的返回值为:"+(number1>=number2));
System.out.println("number1<=number2的返回值为:"+(number1<=number2));
}
}
/*1.声明两个int变量
2.输出结果
运行结果如下:
逻辑运算符
&:两者都为真,结果才是真。
|:只要有一者为真,结果就是真。
!:非真即假,非假即真。
位运算符
1.“按位与”运算
&:两者都为1,结果才是1。
2.“按位或”运算
|:只要有一者为1,结果就为1。
3.“按位取反”运算
1变0,0变1。
4.“按位异或”运算
两者相同即为0,不同为1。
位移运算符
<<:左移。整体往左移,空位补0,溢出去掉。
>>:右移。整体右移,正数补0,负数补1,溢出去掉。
>>>:无符号右移。整体右移,空位补0;溢出去掉。
三元运算符
三元运算符的使用格式: A(条件句) ? B : C
若条件式的值是正确的,则表达式取值B,否则取值C.
public class Sanyuan {
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);
}
}
/*1.声明int型变量
2.将a>9作为判断条件
3.条件成立,将--a赋值给b
4.条件不成立,将7赋值给b*/
运行结果如下:
数据类型转换
1.自动类型转换
使用隐式转换提升数值的精度
创建类Conver,在主方法中创建不同数值型的变量,实现将各变量隐式转化
public class Conver {
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));
}
}
/*1.定义byte型变量mybyte,并把允许的最大值赋给mybyte
2.定义int型变量myint,并赋值150
3.定义float型变量myfloat,并赋值
4.定义char型变量mychar,并赋值
5.定义double型变量,并赋值
6.将不同数据型数据进行计算*/
运行结果如下:
2.显示(强制)类型转换(有可能会丢失数据)
public class Sanyuan {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a =(int)45.23;//强制类型转换
System.out.println(a);
}
}
运行结果如下: