1、变量的使用
1、声明变量,即根据数据类型在内存中申请存储空间
2、赋值
2、变量命名规则
要求简洁,首字母以字母、下划线_、美元符$,后面可以是字母、下划线、美元符任意组合,变量名须是名词,且第一个单词首字母小写,后续单词首字母大写。具体参照驼峰命名法(下划线,美元符有特殊意义)
基本数据类型的分类
3、运算符
算术运算符:+、-、*、/(取整)、%(取余数)
递增递减运算符:i++、i–、++i、–i。(前者是先使用i的值再执行自增自减,后者是先执行自增自减,再使用i的值。例如:int i=2;int j=i++;输出的j=2,i=3;int j=++i;j=3,i=3)
赋值运算符:=、+=、-=、*=、/=
public class HelloWorld {
public static void main(String[] args) {
int i=2;
int j=3;
int k=i/j;//k=2
k=i++;//k=2,i=3
k=++i;//k=3,i=3
j+=i;//j=5
System.out.print(k);
}
}
关系运算符:>、>=、<、<=、==、!=
逻辑运算符:&&、||、!(短路与、或、非)
使用&&时,当第一个表达式为false时不会去判断后面的表达式;
使用||时,当第一个表达式为true时不会去判断后面的表达式。
public class Test5 {
public static void main(String [] args){
boolean b1=true;
boolean b2=false;
if(b1&&b2){ //输入的会是2
System.out.println("1");
}else{
System.out.println("2");
}
if(b1||b2){ //输入的会是1
System.out.println("1");
}else{
System.out.println("2");
}
}
}
&&和& 的区别就是当有多个表达式时,遇到第一个为false时,后面的表达式就不在进行判断,同样||和|的区别是遇到第一个为true时,后面的表达式就不在进行判断
三目运算符:表达式1:?:表达式2(Java中不允许使用,不方便阅读)
public class Test5 {
public static void main(String [] args){
int j=2;
int k=3;
int i=0;
i=(k<j)?1:2; //当?前面的表达式为true时,执行:前的,否则执行:后面的
System.out.println(i);//输入的i=2
}
}
位运算符:&、|、^(异或)、~(非)
&为按位与,|为按位或
移位运算符:>>(向右移位)、<<(向左移位)、>>>(无符号向右移位)
*、/、%同级运算
浮点数可以除零,整型运算不能
整数取模,浮点数取模,余数取模
a%b=a-(a/b)整数取模 a%b=a-(b*q) q=int(a/b)
Java程序控制语句
Java程序控制语句分为顺序语句,分支语句(if ···else···,switch···case),循环语句(for,while,do···while)
if···else···的用法
import java.util.Scanner;
/**
* 我的第一个Java程序
* @author jie
*
*/
public class HelloWorld {
public static void main(String[] args) {
int score ;
Scanner scanner=new Scanner(System.in);
score=scanner.nextInt();//这里会发生阻塞,等待
if(score>=95){
System.out.println("奖励 iPhone6s Pro");
if(score>=98){
System.out.println("塞班岛一日游");
}else if(score==100){
System.out.println("马尔代夫双日游");
}
}
else if(score>=60){
System.out.println("考试通过");
}
else{
System.out.println("下次努力");
}
}
}
switch··· case···
import java.util.Scanner;;
public class Test1 {
public static void main(String[] args){
int score;
Scanner scanner=new Scanner(System.in);
score=scanner.nextInt();
switch(score/10){
case 10:
System.out.println("满分");
break;
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("中等");
break;
case 6:
System.out.println("及格");
break;
default:
System.out.println("挂科");
break;
}
}
}
三种循环语句
public class Test2 {
public static void main(String[]agrs){
int i=0;
int s=0;
//for循环
for(;i<=1000;i++){
s+=i;
}
System.out.println("for循环"+s);
//while循环
i=0;
s=0;
while(i<=1000){
s+=i;
i++;
}
System.out.println("while循环"+s);
//do···while循环
i=0;
s=0;
do{
s+=i;
i++;
}while(i<=1000);
System.out.println("do···while循环"+s);
}
}
计算1000以内水仙花数的个数,例如:153=1*1*1+5*5*5+3*3*3
public class Test3 {
public static void main(String [] args){
int a=0;
int b=0;
int c=0;
int s=0;
int j=0;
for(int i=100;i<1000;i++){
a=i/100;
b=i%100/10;
c=i%10;
s=a*a*a+b*b*b+c*c*c;
//System.out.println(i+" "+a+" "+b+" "+c+" "+s);
if(s==i){
j++;
System.out.print(i+" ");
}
}
System.out.println("1000以内的水仙花数有"+j+"个");//153 370 371 407 1000以内的水仙花数有4个
}
}
给出一个计算给出一个随机整数,求其二进制情况下这个数有多少个1?
import java.util.Scanner;;
public class Test4 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//int a=scanner.nextInt();
int count=0;
/*int i;
for(int j = 0;j<32;j++){
if(i%2==1){
//最后一位是1
count++;
}
i=i>>1;//i>>=1
}
System.out.println(count);*/
int k=scanner.nextInt();
//int count=0;
while(k!=0){
if(k%2==1){
count++;
}
k=k/2;
}
System.out.println(count);
}
}
在循环语句中break与continue的区别:
break是跳出循环,不再执行循环运算,continue是指跳出本次循环,不再执行本次循环continue后面的语句,接着执行下一次循环
public class Test6 {
public static void main(String[] args){
for(int i=0;i<=10;i++){
System.out.print("第"+i+"次循环"+" ");
if(i==5){
System.out.println(i+"未跳出循环");
break;
}
else if(i==3){
System.out.println(i+"跳出本次循环");
continue;
}
System.out.println("给糖吃");
}
}
}