赞
踩
概述:被java语言赋予特定含义的单词
特点:组成关键字字母全部是小写
注意事项:goto和const作为保留字存在,目前不使用.有特殊颜色标记
概述:给接口、类、方法、变量等起名字使用的字符序列
组成规则:英文大小写字母、数字字符、$和 _
注意事项:不能数字开头、不能是java中关键字、java语言严格区分大小写。
1、见明知意
包:其实就是文件夹,区分相同类名。 (全部小写)
类或接口: 一个单词:首字母大写
多个单词:每个单词首字母必须大写
方法或者变量:一个单词:首字母小写
多个单词:第二个单词开始,每个单词首字母大写
常量: 一个单词:全部大写
多个单词:每个字母都大写用_隔开单词
单行: //
多行: /* */
文档注释: /** */
public class day001 {
/*
main方法是程序的入口
被JVM自动调用
*/
public static void main(String[] args) {
System.out.println("hellow word");
}
}
注释作用:解释说明程序、帮我们调试程序
概述:程序执行过程中它的值不变
分类:字面值常量、自定义常量
字面值常量:
整数常量
概述:在程序执行过程中某个范围内其值可以发生改变的量
(内存中一小块区域) 我们在运算的时候,使用的是这个空间的值。就给这个空间取了个名字。变量没有初始值则为垃圾空间。
定义: 数据类型 变量名 = 初始化值;
Java是强类型语言,每个数据都有具体的数据类型,在内存中分配了不同大小的内存空间。
整数默认 int 浮点数默认 float
注意事项:作用域 ,变量定义在哪个大括号内,他就在哪个大括号内有效,同一括号不能有两个相同名变量。
使用前给初始化值。
+,-,*,/,%,++,- -
整数相除只能得整数,想要小数,把操作的数据中任意一个数据变浮点数
++a 先做++再赋值
a++ 先赋值再++
=,+=,-=,*=,/=,%=
面试题
第一个有问题,short类型参与运算首先转成int类型,结果int类型赋给 short类型 有问题!
第二个 s +=1 等价于 s = (s的数据类型)(s+1)
== ,!=,>, >=,<,<=
|| 与 &或 !
&&与&的区别:最终结果一样&&只要左边false右边不执行(短路效果)
&,|,^,~
面试题:实现两个整数变量的交换
a =10, b=20
//方式一使用第三方变量
int c = a;
a = b;
b = c;
//方拾贰,用异或实现
//左边:a,b,a
//右边:a^b
a = a^b;
b = a^b;//a^b^b = a
a = a^b;//a^b^a = b
//方式三
b = (a+b) - (a=b);
1、获取两个数中最大值
public static void main(String[] args) {
int x =100;
int y =200;
int max =(x>y? x: y);//x>y吗? 大于选x,小于选y
System.out.println(max);
}
2、三个数中获取最大
int a = 10;
int b = 20;
int c = 30;
int Max1 = (a > b ? a : b);
int max2 = (Max1 > c ? Max1 : c);
System.out.println(max2);
3、两个数是否相等
int x = 100;
int y = 200;
boolean flag =(x==y);
System.out.println(flag)
步骤:1、导包 import java . util .Scanner
2、创建键盘录入对象
Scanner sc = new Scanner(System.in);
3、通过对象获取数据
int x = sc.nextInt(); String s = sc.nextLine();(录入字符串)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("清輸入一個數據:");
int x = sc.nextInt();
System.out.println("輸入的數據是:"+x);
}
输入两个数求和
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();
int sum =x + y;
System.out.println(sum);
}
}
三元都可以用 if改 if不一定用三元改 (if 后是输出结果)
switch
表达式: byte、short、int 、char、枚举、JDK7以后String
键盘输入1、2、3 输出星期一 星期二 星期三
注意问题:
if 语句 switch
1、请在控制台输出数据1-10
public static void main(String[] args) {
for(int x=1;x<=10;x++) {
System.out.println(x);
}
}
2、求1-10之间的数据和
public static void main(String[] args) {
int sum=0;
for (int x = 1; x <= 10; x++) {
sum = sum + x;
}
System.out.println(sum);
}
}
3、求1-100之间偶数和
public static void main(String[] args) {
int sum=0;
for (int x = 1; x <= 100; x++) {//x=0; ;x+=2
if(x%2==0) {
sum = sum + x;
}
}
System.out.println(sum);
}
4、求5的阶层
public static void main(String[] args) {
int jc = 1;
for (int x = 1; x <= 5; x++) {
jc = jc * x;
}
System.out.println(jc);
}
5、在控制台输出所有“水仙花数”
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
例 153
do while 至少执行一次循环体
for 、while必须先判断条件是否成立
退出 当前 循环
跳出多层:取名字
退出本次循环
跳出一次循环,进入下一次循环
完成特定功能的代码块
实际参数:实际参与运算的
形式参数:就是方法定义上的,用于接收实际参数的。
写好一个方法,要明确两个东西:
返回值类型,结果数据类型。
参数列表,要传递几个参数,以及每个参数的数据类型
public static void main(String[] args) { int x =10; int y =20; //方式一(有明确的返回值)单独调用无意义 //sum(x,y); //方式二输出调用 //System.out.println(sum(x,y)); //方式三:赋值调用 int result = sum(x,y); System.out.println(result); } public static int sum(int a,int b) { int c =a + b; return c; } }
单独调用 与之前用法相同。
输出调用 错误
赋值调用错误
练习:键盘录入行数列数,输出对应的星形
public static void main(String[] args) { // 创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请输入行数"); int m = sc.nextInt(); System.out.println("请输入列数"); int n = sc.nextInt(); // void类型调用 pringXing(m, n); } public static void pringXing(int m, int n) { for (int x = 0; x < m; x++) { for (int y = 0; y < n; y++) { System.out.print("*"); } System.out.println(); } }
JVM会根据不同参数调用不同功能 。。。。叫方法重载
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4skwcrv2-1580471283103)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1570176908968.png)]
public static void main(String[] args) {
//定义一个数组
int [] a = new int [3];//定义一个int类型的数组a变量
System.out.println(a);//[I@7852e922 地址值
}
}
动态初始化:只指定长度,系统给出初始值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-olSesfpZ-1580471283103)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1570178636732.png)]
静态初始化:给出初始化值。由系统决定长度
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Goh5r503-1580471283104)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1570178614757.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7c43ZVUJ-1580471283104)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1570178658694.png)]
不要同时使用静态、动态
数组名[索引]
局部变量:在方法定义中或者方法声明上的变量都称为局部变量
数组提供了length 获取数组长度
格式:数组名.length
步骤:1、定义一个数组并进行静态初始划
2、从数组中任意找一个元素(一般为第一个)作为参照物
3、遍历其他元素和参照物进行比较。
public static void main(String[] args) {
//定义一个数组
int [] a = {34,98,10,24,67};
int max = a[0];
for(int x=1;x<a.length;x++) {
if (a[x]>max) {
max=a[x];
}
}
System.out.println(max);
}
用方法改进
需求:获取最大值
两个明确:
返回值类型:int
参数列表:int [ ] a
public static int getMax(int[] a) {
//定义一个数组
int max = a[0];
for(int x=1;x<a.length;x++) {
if (a[x]>max) {
max=a[x];
}
}
return max;
}
}
元素对调
思路:把0索引和a.length-1 对调 依次。。。做到 a.length/2
public static void reverse2(int[] a) {
for(int start = 0,end = a.length-1;start<end;start++,end--) {
int temp = a[start];
a[start] = a[end];
a[end] = temp;
}
}
String [] a = {"星期一","星期二","星期三","星期四","星期五","星期六","星期天"};
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("清输入一个数据(0-6):");
int index = sc.nextInt();
System.out.println("你要查找的日期是:"+a[index]);
}
}
public static void main(String[] args) {
int[][] arr = { { 22, 66, 44 }, { 77, 33, 88 }, { 25, 45, 65 }, { 11, 66, 99 } };
int sum = 0;
for (int x = 0; x < arr.length; x++) {
for (int y = 0; y < arr[x].length; y++) {
sum = sum + arr[x][y];
}
}
System.out.println(sum);
}
打印杨辉三角:
public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); //这个n来自键盘录入 System.out.println("请输入一个数据"); int n = sc.nextInt(); //定义一个二维数组 int [][]a = new int[n][n]; //给二维数组任何一行第一个和任意一列最后一个赋值 for(int x=0;x<a.length;x++) { a[x][0] = 1;//每行第一个 a[x][x] = 1;//每行最后一个 } for(int x=2;x<a.length;x++) { for(int y=1;y<=x-1;y++) { a[x][y] = a[x-1][y]+a[x-1][y-1]; } } //遍历数组 for(int x=0;x<a.length;x++) { for(int y = 0;y<=x;y++) { System.out.print(a[x][y]+"\t"); } System.out.println(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。