这是一个简单的笔记

涉及到常量、变量;流程控制语句、数组;类与对象、封装、构造方法;Scanner类、Random类、Arraylist类;

1、pubic class  static void

2、标识符应用场景L:类的名字、方法的名字、变量的名字    
标识符包含的内容:数字、字母、下划线、美元符号、
不能以数字开头
标识符不能是关键字

命名规范
类名 首字母大写,后面每个单词首字母大写(大驼峰式)
方法名:首字母小写,后面每个单词首字母大写(小驼峰式)
变量名:全部小写

3、基本数据类型:byte short int long double float char  boolen  
引用类型:类、数组、接口

变量名称:在同一个大括号内,变量名字不可以相同
变量赋值:定义的变量,不赋值不能使用

变量类型转换,调用的是ASC编码

4、方法
方法必须定义在一个类中方法外
方法不能定义在另外一个方法里面

5、流程控制语句

5.1.1 判断语句--if
if(关系式){
    语句体;
}

5.1.2 判断语句--if。。。else
if(关系式){
//满足
 语句体1;
} else{
//不满足
语句体2;
}

5.1.3 判断语句 --if。。。else if。。。else
if (判断条件1){
 执行语句1;
}else if (判断条件2){
执行语句2;
} else if (判断条件n){
执行语句n;

} else {
执行语句n+1;
}

5.2 选择语句
 switch (表达式){
 case 常量1:
 语句体1;
 break;
 case 常量2 ;
 语句体2;
 break;
 ...
 default :
 语句体n+1;
 break;
 }
 首先计算出表达式的值 其次,和case依次比较,
 一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
 
 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,
 或者整体switch结束
 
 5.3循环
 5.3.1循环语句 --for
 for (初始化表达式;布尔表达式;步进表达式){
     循环体
 }
 练习:使用循环求100以内的偶数和
 5.3.2 --while
 
 初始化表达式;
 while (布尔表达式){
    循环体;
    步进表达式;
 }
 练习:while循环输出10次hello world
 
 5.3.4 --do while循环
   初始化表达式;
   do{
      循环体;
      步进表达式;

}   while(布尔表达式);
 
循环语句的区别:
for 和 while 的区别
控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,
如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。
在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while

5.4 跳转语句
5.4.1 break语句
使用场景:终止switch或者终止

5.4.2 continue
使用场景:结束本次循环,继续下一次循环

6、调用方法三种形式
直接调用 、赋值调用、输出语句调用

7、方法重载
指在同一个类中,允许存在一个以上的同名方法,只要他们的
参数列表不同即可,与修饰符和返回类型无关
参数列表:个数不同、数据类型不同、顺序不同

8 、数组
8.1数组的定义
方式1  int[] arr = new int[3]//数组的长度一旦指定,就不能改变
方式2  int[] arr = new int []{1,2,3,4,}
方式3  int[] arr = {1,2,3,4}

8.2数组的常见操作
1、数组越界异常:在开发中,数组越界异常是不能出现的,一旦出现了,就必须修改我们的编码
2、数组空指针异常:同上
3、数组的遍历:
public static void  mian(...) {
   int[] arr = new {1,2,3,4,5};
   for (int i =0;i < arr.lenegth;i++){
      syso(arr[i]);
   }
}
4、数组获取最大值元素
实现思路:
定义变量,保存数组0索引上的元素
遍历数组,获取出数组中的每个元素
将遍历到的元素和保存数组0索引上值的变量进行比较
如果数组元素的值大于了变量的值,变量记录住新的值
数组循环遍历结束,变量保存的就是数组中的最大值

psvm{
 int[] arr  = new {5,13,15,200,3300};
 //定义变量,保存数组0索引上的元素
 int max = arr [0];
 //遍历数组,获取出数组中的每个元素
 for (int i=0;i<arr.length;i++){
 //遍历到的元素和变量比较
 //如果数组大于max
   if (arr[i]>max){
   max =arr[i];
   }
 }
 syso ("数组的最大值为"+max);
}
5、数组的反转
数组的反转: 数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1
实现思想:数组最远端的元素互换位置。
实现反转,就需要将数组最远端元素位置交换
定义两个变量,保存数组的最小索引和最大索引
 两个索引上的元素交换位置
 最小索引++,最大索引--,再次交换位置 最小索引超过了最大索引,数组反转操作结
 练习
 public static void main(String[] args){
    int[] arr = {1,2,3,4,5};
    /*
    循环中定义变量min=0最小索引
    max=arr.length-1最大索引
    min--,max ++;
    */
    for (int min =0,max = length-1;min < max ;min --,max ++){
    //利用第三方变量完成数组中元素交换
    int tepm =arr[min];
    arr[min]=arr[max];
     arr[max ]=temp;
     }
     //反转后,遍历数组
     for(int i=0;i<arr.length-1;i++){
       System.out.println(arr[i]);
     }
}
 
第四章  数组作为方法参数和返回值 4.1 数组作为方法参数
以前的方法中我们学习了方法的参数和返回值,但是使用的都是基本数据类型。那么作为引用类型的数组能否作为 方法的参数进行传递呢,当然是可以的。
数组作为方法参数传递,传递的参数是数组内存的地址。

数组可以作为方法参数、数组可以作为返回类型
方法的参数类型区别
方法的参数为基本类型时,传递的是数据值,方法的参数为引用类型时,传递的是地址

应深入理解对象内存图   章节、类与对象
 
 在类中的位置不同 重点
 成员变量:类中,方法外
 局部变量:方法中或者方法声明上(形式参数)
 作用范围不一样 重点
 成员变量:类中
 局部变量:方法中
 初始化值的不同 重点
 成员变量:有默认值
 局部变量:没有默认值。必须先定义,赋值,最后使用
 在内存中的位置不同 了解
 成员变量:堆内存
 局部变量:栈内存
 生命周期不同 了解
 成员变量:随着对象的创建而存在,随着对象的消失而消失
 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
 
 Scanner 类与random类
 system.in 表示键盘录入的数据
 .nextInt表示录入的整数
 
练习:
键盘录入三个数据并获取最大值,代码如下:
import Scanner
public  class TestScanner{
     psvm {
        //创建对象
        Scanner sc = new Scanner(system.in );
        //接收数据
        System.out.println("请输入第一个数据:");
        int a = sc.nextInt();
        System.out.println("请输入第二个数据:");
        int b = sc.nextInt();
        System.out.println("请输入第三个数据:");
        int c = sc.nextInt();
        
        //获取三个数据的最大值
        int temp = (a>b?a:b);
        int max =(temp>c?temp :c);
        
        syso("max :"+max );
     }
}

random 类

练习 游戏开始时,会随机生成一个1-100之间的整数 number 。
玩家猜测一个数字 guessNumber ,会与 number 作比 较,
系统提示大了或者小了,直到玩家猜中,游戏结束
//导包
import java.util.Random;
public class Test02Random {  
 public static void main(String[] args) {  
   // 系统产生一个随机数1‐100之间的。
     Random r = new Random();
     int number = r.nextInt(100) + 1;
     while(true){
       // 键盘录入我们要猜的数据
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入你要猜的数字(1‐100):");
       int guessNumber = sc.nextInt();
         // 比较这两个数据(用if语句)
       if (guessNumber > number) {
         System.out.println("你猜的数据" + guessNumber + "大了");
       } else if (guessNumber < number) {
         System.out.println("你猜的数据" + guessNumber + "小了");
       } else {
         System.out.println("恭喜你,猜中了");
         break;
       }
     }
   }
 
ArryList

常用方法和遍历
对于元素的操作,基本体现在——增、删、查。常用的方法有:
 public boolean add(E e) :将指定的元素添加到此集合的尾部。
 public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
 public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
 public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界
 
 ArrayList对象不能存储基本类型,只能存储引用类型的数据。
 类似 <int> 不能写,但是存储基本数据类型对应的包装类型是可以的。
 所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写
 
 
练习:
生成6个1~33之间的随机整数,添加到集合,并遍历
public class Test01ArrayList {
   public static void main(String[] args) {
 //创建Random对象
 Random random = new Random();
 //创建Arrylist对象
 ArrayList<Integer> list = new ArrayList<>();
 
 //获取随机整数添加到集合
 for (int i= 0;i<6;i++){
   int r  = random.nextInt(33)+1;
   list.add(r);
 }
   //遍历籍集合输出
   for(int i= 0;i<list.size ;i++){
      syso (list.get(i));
    
   }
  }
 }
 
 ¥¥¥¥¥¥明天一定要回来看一下之前的笔记
 ################伪随机数,数组 最后的一个综合练习还没做,明天一定要回来做做了

javaSE温习一&二的更多相关文章

  1. JavaSE(十二)之IO流的字节流(一)

    前面我们学习的了多线程,今天开始要学习IO流了,java中IO流的知识非常重要.但是其实并不难,因为他们都有固定的套路. 一.流的概念     流是个抽象的概念,是对输入输出设备的抽象,Java程序中 ...

  2. JavaSE学习(二):进制转换—数据类型转换—Java运算符

    一.进制转换 1.1 其他进制转十进制(以十六进制为例): 十六进制范围:0-9, A-F对应数字10-15 2A7E(16)  =  14*16(0) +7*16(1) + 10*16(2)  + ...

  3. JavaSE总结(二)

    一.Java Number .65f;byte c =0x4a; 然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形.为了解决这个问题,Java 语言为每一个内置数据类型提供 ...

  4. javaSE总结(二)--java面向对象

    一.类和对象 (1)类 [修饰符] class 类名{ //修饰符1:private public protected 三个最多出现其一 //修饰符2:abstract final 两个最多出现其一 ...

  5. JavaSE基础(二)--Java环境配置

    Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. Windows 上安装开发环境 Linux 上安装开发环境 安装 Eclipse 运行 Java window系统安装ja ...

  6. javase学习小结二

    三角函数方法 Math.sin(radians):Math.sin(Math.PI/6)=0.5 Math.cos(radians):Math.cos(Math.PI/3)=0.5 Math.tan( ...

  7. JavaSE复习(二)集合

    Collection List(存取有序,有索引,可以重复) ArrayList 底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 LinkedList 底层是链表实现的,线程不安全,增和删比 ...

  8. javaSE基础(二)

    文件:文件是信息在计算机上的保存形式. 可控式异常:一种必须被处理或必须在可能产生异常的方法中给出声明的异常. 可控式异常的三种处理方式: 1)try...catch捕获 2)throws语句往上抛 ...

  9. PHP温习之二

    1.php包含的超全局变量 (1)$GLOBALS超全局变量组,在PHP脚本所有的作用域均可以访问到. <?php $x = 23; $y = 17; function addAction(){ ...

随机推荐

  1. javascript中的原型和原型链(五)

    Array.prototype 先记住一句话——每一个函数,都有一个prototype属性——每一个函数,无论是你自定义的,还是系统内置的 var fn = function() {} console ...

  2. stat:查看文件时间参数

    Linux 系统中,每个文件主要拥有 3 个时间参数,分别是文件的访问时间.数据修改时间以及状态修改时间: 访问时间(Access Time,简称 atime):只要文件的内容被读取,访问时间就会更新 ...

  3. ASP.NET通过反射生成sql语句

    最近对接一个接口,需要通过xml序列化成实体后添加额外信息后批量插入数据库,需要手动拼sql.因为涉及多张表,拼凑很麻烦而且容易出错,所以写了两个工具方法来生成sql,先写到博客里面,以便以后不时之需 ...

  4. JavaWeb_客户端相对/绝对路径和服务器端路径

    客户端的绝对路径和相对路径 相对路径:相对与某个基准目录的路径,在同一根目录下各子目录文件之间的相互引用, 绝对路径:指目录下的绝对位置,直接到的目标位置 @charset "UTF-8&q ...

  5. python学习之路(14)

    通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素 ...

  6. python学习之路(13)

    列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, ...

  7. [CSP-S模拟测试]:小L的数(数位DP+模拟)

    题目传送门(内部题132) 输入格式 第一行一个整数$t$. 接下来$t$行每行一个整数$n$. 输出格式 $t$行,每行一个整数表示答案. 样例 样例输入: 41818231232691052109 ...

  8. CoreData编辑器

    如何你开发iOS使用的是CoreData数据库的话,肯定想要一个可以查看和编辑CoreData数据库的工具,今天给大家推荐一个工具Core-Data-Editor 下载地址:https://githu ...

  9. C++入门经典-例6.9-通过指针变量获取数组中的元素

    1:通过指针引用数组,需要先声明一个数组,再声明一个指针. int a[10]; int *p; 然后通过&运算符获取数组中元素的地址,再将地址值赋给指针变量. p=&a[0]; 代码 ...

  10. spark 笔记 14: spark中的delay scheduling实现

    延迟调度算法的实现是在TaskSetManager类中的,它通过将task存放在四个不同级别的hash表里,当有可用的资源时,resourceOffer函数的参数之一(maxLocality)就是这些 ...