Java基础
运算符
算数运算符号
1.+ - * / 基本的运算
2.% 模(取余数),算整除
3.++ -- 自增,自减
比较运算符(结果是boolean)
1.== 相等比较
2.!=不等比较
逻辑运算符
1.&:并且 单与 表达式1 & 表达式2 结果是true,两个表达式都要是true
2.&& 表达式1 && 表达式2,两个表达式都要是true,提升了代码的执行的效率
--短路与,如果表达式1,的值是false,结果会造成表达式2的短路
3.| 单或,表示或者的关系,表达式1 | 表达式2,其中一个表达式是正确的
4.|| 双或,表示或者的关系,表达式1 || 表达式2,其中一个表达式是正确的
-短路或,如果表达式1,的值是true,结果会造成表达式2的短路
判断语句
if(判断的条件){ //判断的条件里面如果与数字进行比较,需要用==
满足条件的代码
}
问题一,闰年的判断条件
int year=new Scanner(System.in).nextInt();
if ((year%4==0 &&year%100!=0)||year%400==0) {
System.out.println(year+"年是闰年");
}else {
System.out.println(year+"年不是闰年");
}
问题二:自增自减少的问题
口诀:符号在前,先取值后变化,++在后,先取值后自增
符号在后,先变化后取值,++在前,先自增后取值
package com.tedu.yunsuan;
//测试自增自减
public class Test2_ZiZeng {
public static void main(String[] args) {
int a=1;
System.out.println(a++);//++在后,先取值后自增 1
int b=1;
System.out.println(++b);//++在前,先自增后取值 2
System.out.println(++a+b+b++); //7
}
}
问题三:取三个数的最大值
三元运算符的运用:条件 ? :
//1.max记录a与b的最大值
int max=a>b ? a: b;
//2.max和c比较
int Max=max>c?max:c;
System.out.println("三个数的最大值是"+Max);
方法的概述:
被命名的代码块main{代码}。,标志是()可以含有参数,可以不含有参数,可以提高代码的复用性
形式:
方法的修饰符 方法的返回值void 方法名([方法的参数1,方法的参数2,....]){
方法体;
}
练习1:方法
方法的案例:
package com.tedu.method;
//测试方法
public class Test4_Method {
public static void main(String[] args) {
System.out.println(1);
//调用指定的方法
method1();
System.out.println(2);
}
//创建方法,与main方法是同级别的,一定要注意创建的位置
public static void method1 () {
System.out.println("在屏幕上打印出内容");
}
}
输出的结果:
1
在屏幕上打印内容
2
练习2:参数
在创建方法的时需要指定的参数的类型和参数名
method2(10);
public static void method2(int a) {
System.out.println(a*a);
}
练习三:含有返回值
int result=method3(100);
public static int method3(int b) {
//这个位置可以写上操作的步骤代码块
//通过return的关键字,把结果返回给调用的位置
return b*b;
}
分支结构
(if)
概述:顺序结构的程序 虽然能够解决计算,输出等问题,但是不能做出选择的判断,对于要有先做判断再选择的
问题就要使用分支结构
形式:单分支
if(判断条件){
满足条件的代码
}
双分支:
if(判断条件){
满足条件的代码1
}else{
满足条件的代码2
}
嵌套分支
if(判断条件){
满足条件的代码1
}else if{
满足条件的代码2
}else if{
满足条件的代码3
}else{
满足条件的代码4
}
问题一:商店打折的问题
public static double method2(double a) {
//只有一个return就行,不然太过于敷衍
if(a>5000) {
a=a*0.5;
}else if(a>2000){
a=a*0.8;
}else if(a>1000) {
a=a*0.9;
}
return a;
}
问题心得:在返回值里面只设置一个变量就可以,不用每个都用return进行接收,可以使用一个普通的变量进行接收
(switch)
概述:当一个case成立,从这个case向后穿透所有的的case,包括default,直到程序结束或者遇到break程序才结束。
形式:
switch(表达式或变量){
case 1: syso(1);
case 2: syso(2);
case 3: syso(3);
case 4: syso(4);
case 5: syso(5);
default:syso(10);
}
练习一:数字匹配
public static void method1() {
//1.当找到匹配的case后会继续向后穿透所有的case
//2.当程序遇到break时,会立即结束
//3.switch(experise)表达式是一个整数的表达式,只支持byte short char int,jdk1.7之后加上了string类型
//4.
int a=2;
switch (7) {
case 1: System.out.println(1);
case 2: System.out.println(2);break;
case 3: System.out.println(3);
case 4: System.out.println(4);
case 5: System.out.println(5);
case 6: System.out.println(6);
//如果没有break会执行default或者是所有的case都不匹配
default:System.out.println(0);
}
}
代码包括:1.default执行的条件,2.case执行的特点
循环结构:
循环结构是指在程序中需要反复的执行某个功能而设置的一个程序的结构,它是由循环体中的条件,判断继续执行的某个功能还是退出循环,根据判断的条件循环的结构又可以细分为先判断后执行的循环的结构和先执行后判断的循环的结构
形式:
for(开始条件;循环条件;更改条件){
循环体 ;
}
执行的顺序:开始条件,循环条件,循环体,更改条件;
练习一:打印1-10;
private static void method1() {
for(int a=0;a<11;a++) {
System.out.println(a);
}
}
循环的过程讲解:开始条件,循环条件,循环体,更改条件
for循环的过程,分析方法最基础的知识点