标识符命名:标识符可以由字母、数字、下滑线和美元符号组成,但是不能以数字开头;各标识符中的字母分大小写;标识符长度没有限制;最后,标识符必能使用49+2个关键字。
变量的分类:
按照数据类型来分的话,可以分为基本数据类型和引用数据类型;
基本数据类型:
逻辑类型(boolean)
值:true false
字符类型(char)
值: 'a' '中' '1'
整数类型(byte,short,int,long)
浮点类型(float, double)
基本数据类型转换:
除了boolean类型之外,其他数据类型之间是可以相互转换的。
基本数据类型的容量:
byte < short char < int < long < float < double
默认转换:
容量小的转换容量大的可以默认转换(byte short char之间是不可以默认转换。一旦计算的话先转换成int再计算)
强制转换: 容量大转容量小的。 加强制转换符 (类型)
逻辑运算符: !,& , | , ^ , &&,||
参与运算: boolean
值: boolean
! 逻辑非 取反
& 逻辑与 一个为false 结果为false
| 逻辑或 一个为true 结果为true
^ 逻辑异或 不一样为true
&& 短路与
当左边为false的时候不计算右边
|| 短路或
当左边为true的时候不计算右边
条件运算符 三目运算符 三元运算符
X ? Y : Z
X这个表达式 一定是boolean
如果X的值为true 的话 ,整个表达式的值为Y的值
如果X的值为false的话 ,整个表达式的值为Z的值
作业:
/**
* @param args
* 求水仙花数:100-999;abc;
只要满足:a*a*a+b*b*b+c*c*c=abc;
例子:153=1+125+27
*/
public class ShuiXianHua {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("100-999的水仙花数为:");
for(int i = 100;i <= 999;i++)
{
int a,b,c;
a = i / 100;
b = (i / 10) % 10;//注意这个十位数的取值
c = i % 10;
if(a * a * a + b * b * b + c * c * c == i)
{
System.out.print(i + " ");
}
}
}
}
作业:
/**
* @param args
* 用Scanner任意输入两个数,求它们最大公约数和最小公倍数,请用两个方法分别来表示最大公约数和最小公倍数;
什么是最大公约数:8 4 4
什么是最小公倍数:8*4/4
*/
public class GongYue {
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
System.out.println("请输入两个数:");
int i1 = scan.nextInt();
int i2 = scan.nextInt();
if(i1 < i2)
{
int temp = i1;
i1 = i2;
i2 = temp;
System.out.println("最大公约数:");
System.out.println(fangfa1(i1,i2));
System.out.println("最小公倍数:");
System.out.println(fangfa2(i1,i2));
}else
{
System.out.println("最大公约数:");
System.out.println(fangfa1(i1,i2));
System.out.println("最小公倍数:");
System.out.println(fangfa2(i1,i2));
}
}
public static int fangfa2(int a,int b)
{
return a * b / fangfa1(a,b);
}
public static int fangfa1(int a,int b)
{
for (int i = 1; i < a; i++)
{
int c;
c = a % b;
if(c == 0)
{
break;
}
a = b;//注意这时候,需要把上次的除数赋值给被除数
b = c;//注意这时候,需要把上次的余数赋值给除数
}
return b;
}
}