常量
1、概念:在程序执行过程中,其值不发生改变的量。
2、分类:
a、整数常量(所有整数, 1 2 3 4 )
b、小数常量(所有小数 13.14 ,6.66 )
c、字符常量(由单引号引起来的内容 ‘A’ , ‘a’ )
d、字符串常量(双引号引起来的内容 “Helloworld” )
e、布尔常量 比较特殊,只有true和false(默认为false)
f、空常量 null(数组部分讲解内容)
代码应用
package CodeDemo02;
public class ConstDemo {
public static void main(String[] ages){
//字符串常量 (sysout+alt+/ 代码提示)
System.out.println("521");
System.out.println(521);
System.out.println(-521);
//小数常量
System.out.println(3.14);
//字符常量
System.out.println('A');
//布尔常量
System.out.println(true);
System.out.println(false);
}
}
变量
1、概念:存数的代词,在程序执行过程中,其值可以发生改变的量。(本质上来讲,变量是内存中一块区域)
2、变量的命名
a、只能用字母,数字,_和$,不能以数字开头
b、严格区分大小写
c、不能使用关键字
d、英文命名要见名思意
3、声明:
a、int age; //声明一个整型类型的变量名为age
b、int x y z; //声明三个整型类型的变量名为 x y z
4、初始化
a、第一次赋值;
b、声明的同事进行初始化;int a = 521 //声明整型变量a,并赋值为521
c、先声明后初始化 int a; //声明整型变量a
age=521; //给变量a赋值为521
d、定义格式: 数据类型 变量名=初始化值;
代码应用
package CodeDemo02;
/**
* 变量
* 1、变量未赋值不可以直接使用
* 2、变量只在他所属的大括号内部有效,是有范围的
* 3、可以一行定义多个变量,但不建议使用
*
* */
public class VAriableDemo {
public static void main(String[] ages){
//整型变量
int x = 521;
System.out.println(x);
int a,b,c;
a = 5;
b = 2;
c = 1;
//输出 xyz
System.out.println(a);
System.out.println(b);
System.out.println(c);
//布尔类型
double d,f;
d = 3.14;
f = 5.21;
System.out.println(d);
System.out.println(f);
//浮点型
float e = 3;
System.out.println(e);
}
}
//int b = 3.14;( 数据类型错误)
//System.out.println(x);(变量没有命名)
/*int x;
System.out.println(x);
(变量没有初始化)
*/
/*
* {
* int x = 521;
* System.out.println(x);
* }
*(局部变量是有范围的,属于所在大括号内)
* System.out.println(x)
*
* */
数据类型
java是一门强类型的语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配对应大小的内存空间
1、基本数据类型
a、整型:byte(1)、short(2)、int(4)、long(8)、
b、浮点型:float(4)、double(8)
c、字符型:char(2)
d、布尔型: boolean(1)(true、false)
代码应用
public class DateType {
public static void main(String[] ages){
byte a = 1;
short b = 2;
int c = 3;
long d = 4000000000000L;//L的使用
float e = 5.21F;//F的使用
double f = 6.000041;
char g = 'a';
boolean h = true;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
}
}
2、引用数据类型
a、类:class
b、接口:interface
c、数组:[ ]
标识符
1、作用:给包类和变量起名字
2、组成规则:
a、由 字符 、 _ 、 $ 组成
b、不能是java关键字
c、不能以数字开头
字符:unicode字符集,所以包括英文字母的大小写,中文字符、数字字符等
3、命名规则
a、包名 cn.tedu.day01
无论有几个单词组成,所有的单词都是小写,每一个单词之间用 . 隔开
b、类名/接口名 VariableDemo
如果名字有多个单词组成,那么每一个单词首字母都是大写的。
c、变量 /方法名 age , maxAge / show() , getAge()
如果有多个单词组成,那么第一个单词首字母是小写的,其余单词的首字母都是大写。
d、常量名 JAVA_HOME /LEFT /LEFT_UP
无论有几个单词组成,所有字母全部大写,每一个单词之间用_隔开。
4、驼峰命名法
score , myScore , myJavaScore ——变量
5、帕斯卡命名
Score , MyScore , MyJavaScore ——类
键盘录入数据的步骤
1、导包
2、创建对象
3、接收数据
代码应用
package CodeDemo02;
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] ages){
// alt+shift+L
//1、导包
Scanner sc = new Scanner(System.in );
System.out.println("请输入第一个整数a:");
//2、nextInt 创建对象 3、 接收数据
int a = sc.nextInt();
System.out.println("请输入第二个整数b:");
int b = sc.nextInt();
int c = a + b;
int d = a - b;
int e = a * b;
float f = (float) a / b;
int g = a % b;
System.out.println("a + b = "+c);
System.out.println("a - b = "+d);
System.out.println("a * b = "+e);
System.out.println("a / b = "+f);
System.out.println("a % b = "+g);
sc.close();
}
}
运算符
1、概念:运 算符是对常量进行操作的运算符
2、常用运算符
a、算数运算符
b、赋值运算符
c、关系运算符
d、逻辑运算符
e、三元运算符
取余运算跟左边的正负无关,只与右边的有关
代码应用
package CodeDemo02;
/**
* 运算符是对常量进行操作的运算符
* 算术运算符
* 赋值运算符
* 关系运算符
* 逻辑运算符
* 三元运算符
* */
public class OperatorDemo {
public static void main(String[] ages){
//定义俩个变量
int a = 5;
int b = 2;
float f = (float) a / b;//或float f = ( a * 1.0) / b;
//整数相除只能是整数,要想结果为小数必须有float型参与运算
System.out.println(a+b);
System.out.println(a - b );
System.out.println(a * b );
System.out.println(a / b );
System.out.println(a % b ); //1
System.out.println(a % -b );//1
System.out.println(-a % -b );//-1
System.out.println(-a % b );//-1
//取余结果的正负只与取余符号左边的运算符号有关
}
}
字符的运算
package CodeDemo02;
/**
* 字符参与运算其实是拿计算机底层中存储的对应数值进行参与运算
*/
public class CharacterOperator {
public static void main(String[] ages){
int x = 5;
int y = 6;
System.out.println(x+y);
System.out.println("=======");
char c = '0';
char c1 = 'a';
System.out.println(x + c);
System.out.println(x + c1);
System.out.println(c1 + c);
char b = 'A' + 32;
int d = 'A' + 32;
System.out.println(b);//a
System.out.println(d);//97
//a = 97 A = 65 0 = 48
}
}
字符串的运算
package CodeDemo02;
public class StringOperator {
public static void main(String[] ages){
int x = 5;
int y = 6;
System.out.println("hello" + x);// hello5
System.out.println("hello" + x + y);// hello56
System.out.println(x + y + "hello");// 11hello
}
}
++ 与 --的运算
单独参与运算时无论前后都要进行自加
代码应用
package CodeDemo02;
/**
* 参与运算时
* ++或-- 放在后面时,先拿变量参与运算,后变量做++或--
* ++或-- 放在前面时,先++或-- ,后变量参与运算
* @author Administrator
*
*/
public class OperatorDemo01 {
public static void main(String[] args) {
int x = 5;
/*System.out.println(x);//5
x++;
System.out.println(x);//6
++x;
System.out.println(x);//7
*/
int y = ++x;
System.out.println(x);//6
System.out.println(y);//6
int z = x--;
System.out.println(z);//6
System.out.println(x);//5
int a = --x;
System.out.println(a);//4
System.out.println(x);//4
}
}
赋值运算符
代码应用
package CodeDemo02;
/**
* 赋值运算
* @author Administrator
*
*/
public class AssignmentDemo {
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println(a);
System.out.println(b);
a += b;//a = a + b
System.out.println(a);//3
a -= b;//a = a - b
System.out.println(a);//1
a *= b;//a = a * b
System.out.println(a);//2
a /= b;//a = a / b
System.out.println(a);//1
a %= b;//a = a % b
System.out.println(a);//1
}
}
关系运算符
代码应用
逻辑运算
1、逻辑运算符&与&&的区别
a:结果都一样
b:&&相当于短路,左边是false,右边不执行。&无论左边是false或true ,右边都会执行
2、逻辑运算符|与||的区别
a:结果都一样
b:|| 相当于短路,左边是false,右边不执行。|无论左边是false或true ,右边都会执行
代码应用
三元运算符
代码应用
package CodeDemo02;
/**
* 利用三元运算符判断输入的年份是平年还是润年
*/
import java.util.Scanner;
public class YearsDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入要判断的年份:");
int years = sc.nextInt();
String x;
x = (years%4 == 0 && years%100!=0 || years%400 == 0)?(String)"闰年":(String)"平年";
System.out.println(years + "年是" + x + "!");
}
}
package CodeDemo02;
//键盘输入三年个数,比较这三个数的大小
import java.util.Scanner;
/**
* 三元运算
* 关系表达式 ? 表达式1 : 表达式2
* 如果条件为 true,运算后结果为1
* 如果条件为 false,运算后结果为2
*
* @author Administrator
*
*/
public class TernaryOperation {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int x = sc.nextInt();
System.out.println("请输入第二个数:");
int y = sc.nextInt();
System.out.println("请输入第三个数:");
int c = sc.nextInt();
int max = (x>y)?x:y;
max = (max>c)?max:c;
System.out.println("这三个数中最大的是:"+max);
}
}