********************************************变量、运算符、选择结构******************************************
分享:
目的:提升沟通、表达能力
自学、梳理技能点的能力
内容:
1、非技术的,对同学有帮助的
2、技术的(梳理之前所学)
(技能点的案例)
要求:
时长:十分钟左右
质量:讲解清楚,让大家听明白,学会
今日内容:
1、变量 数据类型 变量的命名规则
2、类型转换
3、运算符 算术、比较、逻辑、赋值
4、选择结构
变量:是内存中的一块存储空间
(房间)(旅馆)
Java是强类型语言,在声明变量时必须要指明数据类型
三要素:
1、数据类型 内存空间的大小
2、变量名称 内存空间的地址
在高级语言中是随机分配的
3、变量的值 内存中具体存放的数据
变量:在程序编写以及运行的过程中,空间里的值会发生改变
Java数据类型分两类:
基本数据类型:8种
数值类型:
a、 byte 整数 占1字节 -128~+127
b、 short 短整数 占2字节 -32768~+32767
c、 int 整型 占4字节
d、 long 长整型 占8字节
f、 float 浮点型 占4字节 小数位数7~8位
g、 double 双精度 占8字节 小数位数15~16位
非数值类型:
h、 char 字符型 占2字节
使用''括起来的单个字符 可以当做整型来使用、参与计算
i、 boolean 布尔型 占1字节 1/8字节
JVM把布尔当做int使用 认为它占用4字节
引用数据类型:无数种
包的命名规则:
域名.公司名.项目名.具体内容名
例如:cn.qc.javaproject1706.demo
包都是使用小写字母
包的作用:组织管理类文件
类名:首字母大写 拼合一起的首字母也要大写
【强调】:类(class)后面的名字一定要和对应的文件名一致
Java程序执行的入口是main方法
单词:
public 公共的
class 类
static 静态的
void 无返回值
main 主要的
String 字符串
变量的命名方式:
1、匈牙利命名法:
数据类型简写+变量的具体含义
例如 int IAge=20;
常见数据类型的简写:
int i boolean b char c String s
long l byte by
例如:String sStudent=""
2、驼峰命名法:
声明的单词可以有多个,但是第一个单词首字母小写,其余单词首字母大写
例如:String stuName="";
3、帕斯卡命名法:(大驼峰命名法)
单词可以有多个单词的首字母都大写
例如:String StuName="";
项目名、类名、方法名、变量 统称标识符
Java标识符的命名规范:
1、组成:字母、数字、下划线、$组成
2、区分大小写
3、数字不能开头
4、不能是Java的关键字和保留字
关键字:Java已经使用的表示特定含义的单词
保留字:目前的JDK版本还没有作为关键字,但是将来可能使用,现在Java已经占有
5、命名要有意义
注意:变量的值所赋值的变量的类型一定要匹配
格式化代码:
不要在搜狗输入法下
全选代码
Ctrl+shift+F
类型转换:
1)自动转换和类型:把小的转为大的
同类型间相互转换
【注意】:float优先级高于int
int age1=20;
float age2=age1;
2)强制转换类型:把大的转为小的
【注意】:转换后会失去精度
double dpi=3.14;
double fpi=(float)dpi;
运算符:
算术运算符:+-*/%
int/int int
float/int float
计算两个数相除后的余数是多少?
计算10000~99999之间的回文数打印出来
package 见Demo1;
public class Ex12 {
public static void main(String[] args) {
for(int num=10000;num<=99999;num++){
int num1=num%10;
int num2=num/10%10;
int num4=num/1000%10;
int num5=num/10000%10;
if(num1==num5 && num2==num4){
System.out.println("该数为回文数"+num);
}
}
}
}
比较运算符:> >= < <= == !=
计算结果是boolean
程序中需要多个条件比较,条件的组合
逻辑运算符:&& || !
判断1990~2017闰年的个数
package 见Demo1;
import java.util.Scanner;
public class Ex13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner ip = new Scanner(System.in);
int count = 0;
for (int year = 1990; year <= 2017; year++) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
count += 1;
}
}
System.out.println("1990~2017闰年的个数为" + count);
}
}
赋值运算符:把运算符右边运算结果赋值给左边的变量或表达式
= += -= *= /= %=
面试题:不使用第三方变量来交换两个变量的值
单目运算符:++ --
三目运算符:
相当于if-else的简化版本
表达式1?表达式2:表达式3
表达式:变量或常量和运算符的组合
运算符优先级别:
() 单目运算符 算术运算 比较运算符 逻辑 赋值
Java中有 代码块 的概念{}
程序三大结构:
顺序结构:
自上而下逐行执行
每一行都能执行到,但只执行一次
选择结构:
根据条件来决定某个代码块是否执行
if(){
}else{
}
多重:
if(){
}else if(){
}else if(){
}else{
}
嵌套:
if(){
if(){
}
}
switch(表达式){
case 值:
语句:
default:
break;
}
[说明]JDK6以前:byte short char int
JDK6以后:加入String
多重if选择结构和switch可以通用
区间值判断优先采用多重if
等值判断用switch
循环结构:重复执行某个代码块
两要素:
循环体 循环条件
先判断条件然后执行语句
while(条件){
//循环体
}
至少能被执行一次
do{
}while(){
}
for(表达式1;表达式2;表达式3)
控制循环结构:
break;
continue;