java语法
一,内容回顾
- java程序的运行过程是什么?
编写,编译,运行- 编写.java文件
- 把.java文件编译成.class文件
- 运行的是.class文件
javac.java java 文件名
- 什么是jre?什么是jvm?什么是jdk?
jre:java运行时环境 作用:提供资源
jvm:java虚拟机 运行java程序
jdk:java开发工具,包含jre jvm - 什么是变量?变量的三要素是什么?
变量:是一块内存空间
3要素:数据类型(决定了内存的空间大小)
变量名(内存地址)
变量的值
java是强类型语言:声明变量的时候要指明数据类型 - 声明变量的方式有的哪些?
- 数据类型 变量名;
变量名=值; - 数据类型 变量名=值;
- 同时声明多个变量
int num1=2,num2=3,num3,num4=5;
案例:交换两个变量的值
使用第三方变量
- 数据类型 变量名;
int n1=1;
int n2=2;
int t=n1;//把等号右边的值复制出来,存入=左边的内存空间中
n1=n2; //t=1; n1=2; n2=2;
num2=t;//n2=1; n1=2; t=1;
- 基本数据类型有几个?各自的字节产长度是多少?
基本数据类型,引用类型
基本类型:8个
byte:1字节
short:2字节
int:4字节
long:8字节
小数类型:
float:4字节
double:8字节
布尔型:
Boolean: 1字节
字符型
char:2字节 单引号括起来的单个字符
标识符
- 有意义
- 组成:字母数字下划线$
- 数字不能开头 不能是关键字保留字
命名法:帕斯卡命名法 类名
驼峰 变量名
二,今日内容
- 编码 了解
- 运算符 重点
算数运算符
关系运算符
逻辑运算符 - 程序三大结构
条件选择结构
1.编码
电脑如何知道输入的内容
【说明】单引号在java中用作字符类的标识
如何告诉计算机,单引号不是java中的标识,使用转义字符\
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//char 采用unicode编码,能够存放任意单个字符
char c1='a';
char sex='男';
//字符类型可用作整形
char charNum=65;
System.out.println(charNum);
char c='\'';
System.out.println(c);
}
}
转义字符
\n enter
\r 制表符
\r 回车
\‘ 一个’
\\一个\
2.引用数据类型
字符串:使用双引号括起来的若干个字符
若干个:0到多个
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//声明字符串
String name1="";//0个
System.out.println(name1);
String name2="张";
System.out.println(name2);
String name3="张张";
System.out.println(name3);
System.out.println(1);//java默认为int类型
short g=65;
char h=(char) g;
System.out.println(h);
boolean i=true;
System.out.println(i);
}
3.类型转换
类型转换:改变原来的类型
- 自动类型转换,无需编码进行处理,自己进行转换(小空间的值,存入大空间)
原则:同一兼容的类型
级别低的可以赋值给级别高的
级别高低的判断依据:
1.字节数越大,级别越高
2.小数级别高于整数
long num=3.14;不可以
double num2=3.14L;可以
【说明】在使用=赋值时,要求=两边的数据类型要一直或能够自动类型转换
强制转换的条件
- 兼容的类型
- 把级别高的赋值给级别低的变量时
需要 代码处理,数据可能会时区精度
数据类型 变量=(强制转换的类型)变量/值;
4、运算符
算术运算符 + - * / %
int num1=5;
int num2=2;
int result1=num1+num2;
int result2=num1-num2;
int result3=num1*num2;
int result4=num1/num2;
int result5=num1%num2; //计算相除之后的余数的值
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
System.out.println(result4);
System.out.println(result5);
```java
public static void main(String[] args) {
// TODO Auto-generated method stub
//自动类型转换
/*
1.自动类型转换,无需编码进行处理,自己进行转换(小空间的值,存入大空间)
原则:同一兼容的类型
级别低的可以赋值给级别高的
级别高低的判断依据:
1.字节数越大,级别越高
2.小数级别高于整数
*/
short num1=1;
int num2=num1;//num1为short类型 num2为int类型 自动转换
int num3=2;
short num4=num3;
double pi=3.14f;//虽然类类型不一致,但是能够发生自动类型转换
float pi2=3; //字节数相同的,整数可以赋值给小数
int pi3=3.0f;//字节数相同的,小数不能赋值给整数
}
单目运算符/一元运算符
++ – 在运算的过程中,只需要一个变量即可
int num=2;
++num; 先对num里的值做+1运算,然后在使用num里的值
num++; 先使用num里的值,然后在做+1运算
int num1=3;
int num2=2;
int result1=num1++ +num2; //和:5 num1=4
int result2=num1++ +num2; //和:6 num1=5
System.out.println(result1);
System.out.println(result2);
System.out.println(num1);
//提示
int num3=2;
int num4=5;
int result3=num3+++num4;
赋值运算符
= 赋值运算 把等号右边的值及计算结构,存放到=左边的变量中
= =+ -= *= %=
int num1=3;
int num2=5;
//给num1重新赋值
//num1+=num2; //相当于 num1=num1+num2
num1*=num2; //num1=num1*num2;
System.out.println(num1);
//面试题
short num3=2;
num3+=1;//java用一步完成,自带转换
//num3+=1; //和num3=num3+1; 有什么区别?
//num3=num3+1; //java用两步来运行:第一步 +法计算 第二步:赋值
System.out.println(num3);
byte num4=127;
byte num5=127;
//num4+=num5;
num4=num4+num5;
System.out.println(num4);
关系运算、比较运算
> >= < <= == !=
计算结果是boolean
总结
-
有两种编码:ASCII 对英文进行唯一编码
unicode 万国码 -
引用类型
字符串:使用双引号括起来的若干个字符 0到多个
String myName=“刘老师”;
3.类型转换
自动类型转换:1、兼容的类型 2、级别低的转为级别高的
级别高低的确定原则
1. 字节数越大级别越高
2. 小数高于整数
例如: int num=3;
float num2=num;
强制类型转换:- 兼容的类型
- 级别高的转为级别低的
语法 数据类型 变量=(强制转换的类型)变量或表达式
-
运算符:
算术运算符: + - * / % ++ –
重点:% ++在前 在后
赋值运算符:
比较/关系运算符
作业
- 整理所学技能点
- 重做课堂案例
- 使用算术运算 交换两个变量的值
- 做群中的题