第二周java笔记

补充:变量域:变量的适用范围,在一对大括号里
浮点型中:
科学计数法:1.2e+8;1.2E-8
字符常量:单引号括起来,如:’a’ ‘\n’(转义)
字符串常量:双引号括起来。如”hello world”。

三、运算符

  1. 算术运算符
    除(/):算式中只要有一个浮点型,那么结果也为浮点型。
    两整型得到整形
    乘(*)
    取模(%):得到除法运算中的余数
    自增(++):a = 2, b = a ++; 先赋值,再运算,b=2,a=3
    a = 2, b = ++a; 先运算,再赋值,b=3,a=3
    自减(–):与自加相同。
    第二周java笔记
    第二周java笔记

  2. 赋值运算符
    赋值:=
    可以连续等于,比如:i1 = i2 = i3 = 1;
    加等于:+=
    其用法与 i=i+2 i+=2 相同
    减等于:-=
    乘等于:*=
    除等于:/=
    模等于:%=
    注意:字符串中只有+=,也就是字符串拼接

运算中现将变量转化成更大的长度
如:
第二周java笔记

int i = 1;
i = i * 0.1; 输出为:i=0
i *= 0.1; 输出也为0
int整型:去掉小数点后的

3) 比较运算符
如:System.out.println(4 ==5)
输出:false
第二周java笔记

  1. 逻辑运算符
    ^ :异或 一个成立,一个不成立,条件不一致
    &:与 两个都成立
    |: 或 有一个成立就成立
    !: 非 若a成立,则 !a 不成立 就是想反
    &&:短路与 两个都成立
    单个&,两边都运算,两个&,若左边为真,则右边也运算,若左边为假,则右边不运算,(没必要看右边了)
    ||:短路或 有一个成立就成立 与短路与情况相同
    比如:System.out.println(4 == 4 & 1 == 1)
    输出:true
    System.out println(4 == 4 | 1 == 4)
    输出:true
    第二周java笔记

扩展:if ( boolean值 )
{ }
当boolean值为true时,执行大括号里的代码
当boolean值为false时,不执行大括号里的代码
int x = 1; int y = 1;
if( x ++==2 & ++y == 2 ){ }
x ++:++在前,先取值后运算,相当于1 == 2,结果为false,在计算++之后 x变为2。
++y:++在后,先运算再取值,相当于2 == 2,结果为true,在计算++之后y变为2。
即为false & true,得到的结论为false

5) 三元运算符(三目运算符)
格式:(条件表达式)?表达式1:表达式2;
当条件表达式为ture时,运算表达式1,当条件表达式为false时,运算表达式2.
如:int i = 1;
int k = i > 0 ? 1 : 0;
system.out.println(k);
如:比较两个数大小
int m = 1;
int n = 2;
system .out. println(m > n ? m : n);
如,比较三个数的大小
int m = 1;
int n = 2;
int k = 0;
system.out .println(m > n ? (m > k ? m : k):(n > k ? n : k))
两个三目组成

6) 位运算符
关于二进制的运算,进制就是逢几进几。
<< 左移 m<<n就是m*2^n

右移 m>>n就是m*2^-n 比如:31>>2 =7 取整数位

无符号右移 正数的与>>相同,负数的不同
第二周java笔记

  1. 运算符的优先级
    ()在所有的运算符里优先级最高
    第二周java笔记

四,程序流程控制
第二周java笔记

A. If-else
如:int i = 1;
if(i == 1) //括号里为ture,执行大括号里面的
{ system.out.println(i) }
如:判断是奇数还是偶数
int i = 3;
if (i % 2 == 0)
{ system.out.println(“偶数”) }
else ( system.out.println(“奇数”) )
if语句的格式
第二周java笔记

如:数字几就出现星期

第二周java笔记
如:
第二周java笔记
第二周java笔记

注意:写成绩的时候不能写 if (80 < score <= else) 要用短路与

B. switch语句
注意:每一段后面要加上break,不然程序从匹配到的位置开始一直运行到结尾。
第二周java笔记

如:数字几就出现星期几
第二周java笔记

Switch语句也可能出现字符串
第二周java笔记

如:将小写字母转化为大写字母

第二周java笔记

两者的比较,当不知道用if还是switch是一般用if
第二周java笔记

C. for语句
如:输出5次hello world
for (int i = 0 ; i < 5 ; i ++)
{ system .out.println(“hello world”) }
从i=0开始到i=4一共五次
如: 第二周java笔记

第三题,打印所有的水仙花数

第二周java笔记

如:
第二周java笔记
第二周java笔记

不用if-else,因为要打印多个字符串

D. while循环
如:输出从一到一百
int I = 1;
while (I <= 100)
{ System.out.println(i)
I ++; }
如:输出从一到一百的所有偶数之和
Int I = 1;
Int k = 0;
While (I <= 100)
{ if ( I % 2 == 0)
{ k +=I; }
I ++;
}
system.out.println(k);
用for循环时
第二周java笔记

第二周java笔记

注意:写循环时要尽量保证外层循环小于内层循环
do-while循环:
如:
do{ system.out.println(m); m++ }
while( m <=100) //先做再循环

嵌套循环:
第二周java笔记

如:九九乘法表
for ( int i = 1;i < 10;i++) {
for(int j = 1;j <=i;j ++) {
System.out.print(j + “" + i + “=” + (ij) + “\t”);
}
System.out.print(”\n");
}
//注意后面的制表符,先输出j

如:输出1-100所有的质数
第二周java笔记

//其中的k是除j后为0的次数,当次数为2时,说明是质数

E. 特殊流程控制语句
a) break 终止当前所在循环
for(int i = 0 ; I < 9 ; I ++)
{
if (I > 6) { break; }
system.out.println(i);
} //到6就终止
b) continue 结束当前循环,进入下一次循环
第二周java笔记

//这个循环还未终止
c) return 结束整个方法,和break不同

第二周java笔记

Berak和return的不同

第二周java笔记

第二周java笔记
第二周java笔记

五,数组
(一) 一维数组
定义时:int[] ii; 或int ii[];
动态定义:int ii[] = new int[4];
//声明能放4个int类型数据的数组
静态定义:int[] ii = new [] { 1,2,3,4 }
//声明能放1,2,3,4共4个数的数组
引用时:如:
System.out.println(“长度是” + str.length)
//名字后面加上.length是输出数组的长度
如:输出字符串时
第二周java笔记

定义数值时:
第二周java笔记

数组内的各项编号从0开始,ii[0]代表数组的第一个数

(二) 二维数组
一位数组中的每一个元素都是一个数组,这就是二维数组
第二周java笔记

如:int[][] ii0 = new int [2][3];
{ {1,2,2},
{4,7,2} }
//第一维部分的长度是2,第二维是第一维的每个元素的长度是3,每一部分是3。编号从0开始。

取出时:
System.out.println(ii0[1][0]) //取出4
特殊写法:
int[] x,y[]; //x是一维数组,y是二维数组

练习题:
第二周java笔记

int[][] arr = new int[][]
{ {3,8,2} {2,7} {9,0,1,6} }; //如上表,元素个数不同
int len = arr.length; //数组的一维长度
int res = 0;
for(int i = 0;i < len ; i ++) {
int[] arr0 = arr[i];
int llen = arr0.length; //数组的二维长度
for(int j = 0;j < llen;j ++)
{ res += arr0[j]; }
}
Systrm.out.println(res);
或者更简单的写:
for(int i = 0; I < arr.length; i ++) {
for(int j = 0; j < arr[i].length; j ++) {
//arr[i].length求第i个数组的长度
res += arr[i][j]; } }

(三) 数组的常见算法
最大值:
第二周java笔记

最小值:将小于号换成大于号,if里面的
总和,平均数:

第二周java笔记

数组的复制:复制到另一个数组上
第二周java笔记

倒序:数组最后一个元素的下标等于数组的长度减去一
第二周java笔记

排序:冒泡,每一轮将最大的放在后面,次数:长度减去一

第二周java笔记
六,类
1.面向对象,打球

第二周java笔记
第二周java笔记

2.类
方法也叫函数
String的默认值是null, int的默认值是0
驼峰命名法

第二周java笔记

第二周java笔记

第二周java笔记
第二周java笔记

第二周java笔记

第二周java笔记

比如:定义一个person的类

第二周java笔记

第二周java笔记

比如:定义一个animal的类

第二周java笔记

第二周java笔记

3.属性
第二周java笔记

第二周java笔记