文章目录
- Java语言的三个版本
- Java程序开发三步骤
- 常用DOS命令
- 注释
- 关键字
- 常量
- 变量
- 数据类型
- 键盘录入
- 标识符/变量名
- 类型转换
- 算术运算符
- 自增自减运算符
- 赋值运算符
- 关系运算符(比较运算符)
- 逻辑运算符
- 三元运算符
- 问题
Java语言的三个版本
- JavaSE Java语言的基础版本,用于桌面应用开发,其他版本基础;程序界面让用户在最短时间找到功能
- JavaME Java语言小型版本,已被安卓和ios取代
- JavaEE Java语言的企业版本,web方向的网站开发
网页:通过浏览器将数据展示在用户前,与后台服务器无交互
网站:通过跟后台服务器的交互,将查询到的真实数据再通过网页展示出来
跨平台:Java可以在任意操作系统(windows,mac,linux)运行
原理:在不同操作系统都安装对应系统的虚拟机即可
Java程序开发三步骤
- 编写代码
- 编写代码
- 运行代码
2004年java(5.0)更新最大
2014年java8.0使用最广泛
常用DOS命令
希望在任意文件下,访问到bin文件夹下的javac,java.exe
main 程序的入口,运行方法
注释
- 单行注释 //注释信息
- 多行注释 /* 注释信息 */
- 文档注释 /** 注释信息 */
关键字
常量
特点
- 全小写
- 在常用代码编辑器中有特殊颜色标记
- main不是关键字,可以理解为比关键字更关键的
变量
数据类型
最小存储单元 位 bit b
最小信息单元 位 byte 字节 B 1B=8bit
Java对每一种数据给出了明确的数据类型,不同的数据类型分配了不同的内存空间,所表示的数据大小不同
取值范围很重要
byte 范围 -128-127
常用/范围:
整数 int 2^31
小数 double
public class Demo{
public static void main (String [] rags){
System.out.println(10);//整数类型,默认为int
System.out.println(10.2);//浮点数类型,默认为double
}
}
数据类型 变量名=数据值
- 变量名不可以重复
public class Demo1{
public static void main (String [] args){
int a=10 //int a =10 有数据类型,是对变量进行定义
a=20 //a=20 无数据类型,是对变量重新赋值
System.out. println (a);
}
}
- 一条语句可以定义多个变量,用逗号分隔。java中用分号作为语句的结束
public class Demo1{
public static void main (String [] args){
int a = 10,b = 20,c = 30; //逗号后面不得再加数据类型
System.out. println (a,b,c);
}
}
- 变量使用前一定要赋值
- 定义float时,一定要加F,大小写均可
定义long时,一定要加L
public class Demo1{
public static void main ( String [] args){
float a=10.23F;
long b=20L;//L建议大写
System.out.println();
}
}
- 变量的作用范围:只在大括号中
当大括号中的代码执行完毕后,该变量就会从内存中消失
键盘录入
//Step1 导包,需要写在class上面
import java.util.Scanner;
public class Scanner{
//Step2 创建对象
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
//Step3 使用变量接收数据
int i=sc.nextInt();
System.out.println(i);
//变量i可以改,其他均不可改
}
}
标识符/变量名
自己起的名字,给类,方法变量等起名
定义规则
- 由数字,字母,下划线_和美元符$组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
类型转换
隐式转换
- 隐式转换
int a= 10
double b = a
System.out.println (b)
强制转换
int a=10
byte b=a
byte b=(byte) a
byte b1=10;
byte b2=20;
byte result=(byte)(b1+b2);
算术运算符
int a =1;
char b = 'a';//char a则对应97
System.out.println(a+b);//此处为算术运算,1+97=98
System.out.println("黑马"+666);//此处为字符串连接符,黑马666
ASCII American Standard Code for Information Interchange,以a字符对应97
自增自减运算符
- 单独使用时,++,–放前后结果一致 a ++;
- int b = a ++; //此时a的值先取出赋值给b,再对自身做加法
int b = ++a;//此时先对a自身做加减,再赋值给b
赋值运算符
左边对右边进行计算
关系运算符(比较运算符)
!= 不相等,a和b是否不相等,如果确实不相等,则true
逻辑运算符
整合多个比较表达式的条件,
可以连接多个表达式,可以连接true false
int x=10
System.out.println(x>5 & x<15);//true
// &与 遇到false则false,只有两边同时true才能true
System.out.println(true & true);//true
System.out.println(false & false);//false
System.out.println(true & false);//false
System.out.println(false & true);//false
// | 或 遇到true则true
System.out.println(true & true);//true
System.out.println(false & false);//false
System.out.println(true & false);//true
System.out.println(false & true);//true
// !非 取反
System.out.println(!true);//false
System.out.println(!!true);//true
// ^ 异或 一样的为false,不同为true
System.out.println(true & true);//false
System.out.println(false & false);//false
System.out.println(true & false);//true
System.out.println(false & true);//true
int x=3
int y=4
System.out.println(++x>4 & y--<5);//
System.out.println(++x>4 && y--<5);//左侧为false,**所以右侧代码不执行,y=4**
三元运算符
是冒号!!!!!
关系表达式?表达式1**:**表达式2;
求表达式的false和true
若为true,取表达式1,
若为false,取表达式2,
案例:三个和尚
int a = 150;
int b = 210;
int c = 165;
int tempmax= a>b?a:b;
int max=tempmax>c?tempmax:c;
System. out.println(max);
int a=10
int b=20
int max = a>b?a:b;
System.out.println(max);
问题
无法打印中文
注释有中文,编译器仍会报错