第三天-2017-05-04
来源:互联网 发布:淘宝加工 编辑:程序博客网 时间:2024/06/05 06:03
第三天
今日内容
- 运算符的补充
- String
- Random
- Scanner
- 程序的运行结构 -------》分支语句
运算符的补充
1. 位运算符
按位取反 ~
按位&
按位 |
按位 ^
2. 移位运算符
>>
>>>
<<
3. String字符串(引用数据类型)
Length()
charAt()
equals()
如何把基本数据类型转换成字符串
int a = 3;String str = "" + a;
如何把字符串转换成基本数据类型
注意:字符串里面必须是所对应的基本数据类型的值
1. 把字符串转换成int
Integer.parseInt(str)
2. 把字符串转换成 double
Double.parseDouble(str);
Random 随机数
在使用引用数据类型的时候都需要去类库把对应的类给引用过来 ----导入jar包
但是String不需要导入因为 java.lang.*下的所有类都是都自动导入 不需要手动导入jar文件
如何使用
Random r = new Random();//创建对象
Scanner 控制台输入
如何使用
Scanner sca =new Scanner(System.in);
class Demo{public static void main(String args[]){//创建对象 Scanner sca = new Scanner(System.in);System.out.println("请输入一个整数。。。。");//获取从控制台输入整数 注意输入的整数不能超过int的取值范围int num = sca.nextInt();System.out.println("控制台输入的整数是:"+num);Scanner sca1 = new Scanner(System.in);System.out.println("请输入一个小数....");//输入一个小数 double d = sca1.nextDouble();System.out.println("控制台输入的小数为:"+d);Scanner sca2 = new Scanner(System.in);System.out.println("请输入一个字符串....");//输入一个字符串 String str = sca2.next();//如果输入的字符串中间的有空格的话 则取得时候控制之前的字符串System.out.println("控制台输入为..."+str);Scanner sca3 = new Scanner(System.in);System.out.println("请输入一个字符串....");//输入一个字符串 String str1 = sca3.nextLine(); //如果有空格的话 则使用该方法System.out.println("控制台输入为..."+str1);}}
程序的运行结构
所有的java程序有三种运行结构
- 顺序结构
- 分支结构
- 循环结构
分支结构
什么是分支结构 ?
带有条件判断的语句
If条件判断
1. 单分支
if (boolean表达式)
{
要执行的语句块
}
2. 双分支
if (boolean表达式)
{
表达式1
}
else
{
表达式2
}
3. 多分支
有多重可能性会发生
if (boolean表达式)
{
表达式1
}
else if (boolean表达式)
{
表达式2
}
else if (boolean表达式)
{
表达式3
}
…
else
{
表达式n
}
Switch条件判断
switch(变量)
{
case常量:
执行语句;
…
case常量:
执行语句;
default:
执行语句;
}
知识的补充
- 变量的作用域:包括该变量的两个大括号之间,但是要从定义该变量的时候开始算起。
- 局部代码块:定义在方法里面使用两个大括号包含起来的代码 ,在两个大括号之间的代码 就是属于局部代码块部分的代码。
自己补充
- 代码
/*测试 .nextLine*/import java.util.Scanner;class Test1 {public static void main(String[] args) {Scanner sca = new Scanner(System.in);System.out.println("请输入");String str = sca.nextLine();Scanner sca1 = new Scanner(System.in);System.out.println("请输入1");String str1 = sca1.next();System.out.println("输出line"+"\t"+str);System.out.println("输出"+"\t"+str1);}}
class Test3 {public static void main(String[] args) {String str = "abcdetruedd";String str1 = "";String str2 = "";for(int x = 0;x < 4;x++){char c = str.charAt(x+5);str1 += c;}boolean flag = Boolean.parseBoolean(str1);for(int x = 1;x < 5;x++){char c = str.charAt(x+5);str2 += c;}boolean flag1 = Boolean.parseBoolean(str2);/*如果提取出来的不是true也不是false,用boolean flag = Boolean.parseBoolean()时候会直接给flag赋默认初始值也会是false*/System.out.println(flag);System.out.println(flag1);}}
- 一些结论
1. main不是关键字,可以在作为变量名称。
2. 先!,再 &,最后 | , && 和 || 也是,先算&&,后算||
3. Integer.parseInt(str)可以直接转换所有的数字,然后,按照% /的方法取出各个位置数的字然后进行运算(前提是str都是数字,不然还要用charAt()来过渡)
4. Boolean.parseBoolean()也是可以的
5. Random是一个类类型数据,是一个在源码中的.java文件,所以要用import来手动导入jar包。而且若.java文件中有多个class,import必须声明在最最最上面,不能在两个class之间进行引用。
6. String也是引用数据类型,但是不用导入jar包。
7. Java的lang包下的不用手动导入,可以直接使用,因为会自动导入,不用再次手动导入。
8. .length() 的 ()不能忘记!
9. 关于三目运算符注意:(三目运算符必须有结果,打印不叫有结果!!)
若三目运算中的执行表达式都需要打印,不能将执行语句直接用System.out.println();,可以将要打印的东西转换成字符串,再打印即可。如:
String result = str.equals(str1) ? "" + str.length() : "" + str.charAt(2);System.out.println(result);
10. 关于.next()和.nextLine()的区别: 都可以接收字符串,但是若所需接收的字符串中有空格,.next()只能接收到空格之间的字符,而.nextLine()能接收包括空格(连续、不连续的多个或单个空格)在内的所有字符。
11. 引用数据类型比较用.equals
12. 写代码还是要先需求分析
/*测试 .nextLine*/import java.util.Scanner;class Test1 {public static void main(String[] args) {Scanner sca = new Scanner(System.in);System.out.println("请输入");String str = sca.nextLine();Scanner sca1 = new Scanner(System.in);System.out.println("请输入1");String str1 = sca1.next();System.out.println("输出line"+"\t"+str);System.out.println("输出"+"\t"+str1);}}
class Test3 {public static void main(String[] args) {String str = "abcdetruedd";String str1 = "";String str2 = "";for(int x = 0;x < 4;x++){char c = str.charAt(x+5);str1 += c;}boolean flag = Boolean.parseBoolean(str1);for(int x = 1;x < 5;x++){char c = str.charAt(x+5);str2 += c;}boolean flag1 = Boolean.parseBoolean(str2);/*如果提取出来的不是true也不是false,用boolean flag = Boolean.parseBoolean()时候会直接给flag赋默认初始值也会是false*/System.out.println(flag);System.out.println(flag1);}}
1. main不是关键字,可以在作为变量名称。
2. 先!,再 &,最后 | , && 和 || 也是,先算&&,后算||
3. Integer.parseInt(str)可以直接转换所有的数字,然后,按照% /的方法取出各个位置数的字然后进行运算(前提是str都是数字,不然还要用charAt()来过渡)
4. Boolean.parseBoolean()也是可以的
5. Random是一个类类型数据,是一个在源码中的.java文件,所以要用import来手动导入jar包。而且若.java文件中有多个class,import必须声明在最最最上面,不能在两个class之间进行引用。
6. String也是引用数据类型,但是不用导入jar包。
7. Java的lang包下的不用手动导入,可以直接使用,因为会自动导入,不用再次手动导入。
8. .length() 的 ()不能忘记!
9. 关于三目运算符注意:(三目运算符必须有结果,打印不叫有结果!!)
若三目运算中的执行表达式都需要打印,不能将执行语句直接用System.out.println();,可以将要打印的东西转换成字符串,再打印即可。如:
String result = str.equals(str1) ? "" + str.length() : "" + str.charAt(2);System.out.println(result);
10. 关于.next()和.nextLine()的区别: 都可以接收字符串,但是若所需接收的字符串中有空格,.next()只能接收到空格之间的字符,而.nextLine()能接收包括空格(连续、不连续的多个或单个空格)在内的所有字符。
11. 引用数据类型比较用.equals
12. 写代码还是要先需求分析
- 第三天-2017-05-04
- 第三天 05-17-2010
- 2017/7/26 第三天
- 2017暑假集训第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- Unity 优化的一些建议
- spring annotation-driven
- 一:《方田》-- 12
- 深入理解JS—作用域和执行上下文
- jenkins 执行kettle 任务
- 第三天-2017-05-04
- C语言调用MKL进行矩阵计算—特征值特征向量求解
- Markdown编辑器使用方法
- *
- TabCtrl
- 京东在用 .NET 吗?
- 微信小程序之数据绑定与数据操作
- POJ 2155-Matrix(二维树状数组-区间修改 单点查询)
- canvas初学