标签:sys 偶数 分支 引用 print 传递 初始化 分类 否则
常量是指程序运行期间,内容不可发生改变的量,像10,10.2,“hello”等都是常量
变量与常量相反,程序运行期间,可以在一定范围内发生改变的量就是变量,变量的本质其实就是用来存放数据的一小块内存空间
变量的格式:数据类型 变量名 = 数据值
标识符的规则:
常见的标识符命名规则(软性建议):
变量的注意事项:
基本类型
引用类型
注意事项:
运算符:对常量或变量进行操作的符号,叫做运算符,例如“+”
表达式:用运算符将多个常量或变量连起来的式子,叫做表达式,例如“a+b”
常用的运算符:
1.加号(+) :跟数学中的加法一样,但是+对于字符串来说,并不是相加的意思,而是连接的功能,需要注意优先级问题
String str5 = "abc" + 10 + 20
//结果为:abc1020
String str5 = "abc" + (10 + 20)
//结果为:abc30
2.减号(-)
3.乘号(*)
4.除号(/)这里的除号是整除,只看商,不看余数
5.求余(%):取模运算,取得余数,只看余数,不看商
6.自增运算符(++):在变量的原有基础上加1,可以写在变量前面,也可以写在变量后面
a.单独使用的时候:前++和后++无任何区别
b.如果和其他运算符混合使用时:如果是前++,那么变量马上+1,然后拿着结果进行使用,如果是后++,那么首先使用当前的本来数据,然后再进行+1操作
使用引用类型的三个步骤:
1.导包:指定需要使用的目标在什么位置,在public class之前写一行代码 import 包路径名
import java.util.Scanner;
2.创建:数据类型 变量名称 = new 数据类型()
Scanner sc = Scanner(System.in);
3.使用:变量名称.方法名();
String str = sc.next()
int num = sc.nextInt()
总代码:
import java.util.Scanner;
public class Sc{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("please input something");
String str = sc.next();
System.out.println(str);
}
}
1.单if语句
if(布尔表达式){
语句体;
}
//如果布尔表达式为true,则执行语句体,否则,不执行;
2.标准if-else语句
if(布尔表达式){
语句体A;
}else{
语句体B;
}
//如果布尔表达式为true,则执行语句体A,否则,执行语句体B;
3.扩展if-else语句
if(布尔表达式1){
语句体A;
}else if(布尔表达式2){
语句体B;
}
...
else if(布尔表达式N){
语句体N
}else{
语句体N+1
}
例子:求两个数的最大值
import java.util.Scanner;
public class MaxNumber{
public static void main(String[] arg){
Scanner sc = new Scanner(System.in);
System.out.println("please the num1: ");
int num1 = sc.nextInt();
System.out.println("please the num2: ");
int num2 = sc.nextInt();
if(num1 > num2){
System.out.println("the max number is" + num1);
}else{
System.out.println("the max number is" + num2);
}
}
}
循环结构的组成部分
for 循环:通常用于控制次数的场景
for(初始化语句;条件判断,步进语句){
循环体;
}
例子:求出1-100的偶数和
public class EvenNumber{
public static void main(String[] arg){
int sum = 0;
for(int i = 1; i < 101; i ++){
if(i % 2 == 0){
sum += i;
}
}
System.out.println("the sum is: " + sum);
}
}
whlie循环:
标准模式:
while(条件判断){
循环体;
}
//当条件满足时执行循环体,不满足则跳出循环体
扩展模式:
初始化语句;
while(条件判断){
循环体;
步进语句;
}
例子:求1-100的奇数和
public class OddNumber{
public static void main(String[] arg){
int sum = 0;
int i = 1;
while( i < 101){
if(i % 2 == 1){
sum += i;
}
i ++;
}
System.out.println("the sum is: " + sum);
}
}
for循环与while循环的区别:for循环的步进语句还能接着走,而whlie的步进语句由于continue跳出了循环,导致剩余内容的步进语句也没被跳过
public class ContinueDemo{
public static void main(String[] arg){
for(int i = 1; i < 10; i ++){
if(i == 4){
continue;
}
System.out.println(i);
}
System.out.println("=====================");
int i = 1;
while(i < 10){
if(i == 4){
continue;
}
System.out.println(i);
i ++;
}
}
}
//输出结果为:
1
2
3
5
6
7
8
9
=====================
1
2
3
1.for循环格式固定,控制次数更方便,而while循环格式更加灵活,不在意循环次数,循环次数确定的使用for较多,次数不确定,使用while较多
2.for循环小括号内定义的变量,循环内可用,循环外不可用,while循环的初始化表达式本来就在外面,仍然可用
3.跳转语句continue的效果不同:
跳转控制语句:
死循环(永真循环):
这两种方法可以实现死循环
while(true){
}
for(; ;){
}
嵌套循环:
//打印一天中所有可能出现的时:分
public class Clock{
public static void main(String[] arg){
for(int i = 0; i < 24; i ++){
for(int j = 0; j < 60; j ++){
System.out.println(i +":" + j);
}
}
}
}
我们这里介绍Eclipse,因为他是完全免费的
Eclipse IDE基本特点:
下载:官网:http://www.eclipse.org
安装:解压就可直接使用
卸载:删除从官网下载的文件夹即可
Eclipse使用的常用快捷键
概述:数组是一种引用类型。变量只可以存放一个数据,数组则可以存放多个类型统一的数据,可以存放基本类型,也可以存放引用类型;
数组的格式:
数组的初始化:使用之前一定要先初始化
1.动态初始化:指定数组的长度
//创建了一个可以存放三个数据的int类型的数组array1
int array1 = new int[3]
2.静态初始化:指定数组的内容,会自动根据内容推算出数组的长度
/*标准格式, 标准格式可以拆分为
int array2[];
array2[] = new int[]{1, 2, 3};*/
int array2[] = new int[]{1, 2, 3};
System.out.println(array1);
/*简便格式,不可以拆分为
int array3[];
array3 = {1, 2, 3};*/
int array3[] = {1, 2, 3};
数组的访问:
数组的默认值:
当你没有给数组赋值的时候,数组会有自己的默认值,不同数据类型的数组会有不同,整数类型的数组的默认值为0,布尔值类型的数组的默认值为false,浮点类型的数组的默认值为0.0
数组获取长度:数组名称.length,当一个数组在内存中被创建了的时候,那么数组的长度旧不能发生改变
数组在堆栈中存放的情况:
如果是整数,默认是0
如果是浮点数,默认为0.0
如果是字符,默认是‘\u0000’(Unicode写法)
如果是布尔值:默认是false
如果是引用类型(包括Striing),默认是null(空常量)
概述:对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”之中,并且起一个名字,使用代码的时候,直接找到名字调用即可;
方法的格式:
修饰符 返回值类型 方法名称(参数类型 参数名称){
方法体;
return返回值;
}
解释:
注意事项:
调用方法的三种方法:
有返回值的方法的例子:求两个数之和
public class Demo2 {
public static int plus(int num1, int num2){
return (num1 + num2);
}
public static void main(String[] args) {
int sum = plus(3, 4);
System.out.println("the sum is: " + sum);
}
}
关于名称的两个问题:
没有返回值的方法格式:没有返回值的时候,只能使用单独调用,不能使用打印调用或赋值调用
修饰符 void 方法名称(参数类型 参数名称){
方法体;
return;//最后一行的return可以省略不写
}
无返回值的方法的例子(遍历数组并打印出来的方法):
public class Demo3 {
public static void arrayMethod(int[] array){
for(int i = 0; i < array.length; i ++){
System.out.println(array[i]);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array1 = {1, 2, 3};
arrayMethod(array1);
}
}
方法的重载:
1.问题描述:对于类似的多个方法,全都是执行相加的操作,但是因为参数列表不一样,所有要记住很多名字,太麻烦
2.解决方案:使用方法的重载技术,可以达到效果,对于类似功能的多个方法,只要记住一个相同的方法名即可,可以根据参数列表的不同自动适配
3.方法重载(Overload):方法的名称相同,但是参数列表不同(包括参数个数不同,参数类型不同,参数的多类型顺序不同)
重载的例子:
public class Demo4 {
public static void main(String[] args) {
int sum1 = Plus(1, 2);//3
int sum2 = Plus(1, 2, 3);//6
int sum3 = Plus(1, 2, 3, 4);//10
System.out.println(sum1 + " " + sum2 + " " + sum3);
}
public static int Plus(int a, int b){
return a + b;
}
public static int Plus(int a, int b, int c){
return a + b +c;
}
public static int Plus(int a, int b, int c, int d){
return a + b + c +d;
}
}
重载的注意点:
1.无法根据参数的名称进行重载,当两个方法的参数名不同,但是功能完全一样时,不能进行重载
2.无法根据返回值类型的不同进行重载,当两个方法的返回值类型不同时,也不能进行重载
参数传递:
1.概述:在调用方法的时候,向方法内传入一些数据的动作
2.形式参数与实际参数:在定义方法的时候,写在小括号里面的参数就是形式参数,而在调用方法时,真正传入方法里的数据就叫做实际参数
3.参数传递的过程的两项规则:对于基本数据类型(以及String)来说,传递的是值,形式参数的操作不会影响实际参数;而对于引用类型(除String外),传递的是地址,形式参数的操作会影响实际参数
标签:sys 偶数 分支 引用 print 传递 初始化 分类 否则
原文地址:https://www.cnblogs.com/luyi001/p/13307134.html