JAVA SE 以及学前准备笔记


学习JAVA前的准备

做JAVA的目的

  1. 自认为JAVA的学习不算太难,可能以后不会一直从事这样的行业,但是内在的逻辑思维,以及某些时候想要以个人的名义开发一个APP之类的东西的时候就需要编程,而JAVA的适用范围广,有用。且个人认为优先JAVA可能会对我以后如果需要深入学习别的编程会有帮助。

  2. JAVA可以做大数据,云管理系统后台,电商系统平台,桌面工具等实用东西。

写博客的好处

总结思考,提升文笔水平,帮助他人(如果可以的话)

MARKDOWN

在6.12的文本中

JAVA安装

  1. 下载jdk1.8.0原因:1.8.0版本功能已经齐全,方便,没有花里胡哨的东西,大公司一般也是用1.8.0

  2. 设置环境变量:这一步对我来说是比较麻烦的一件事,我用的是win7,环境变量和win10系统的不太一样,解决办法:别人教的,找不到了:除了设置好JAVA_HOME【C:/Program Files/Java/jdk1.8.0_291】以外还要设置PATH【C:/ProgramFiles/Java/jdk1.8.0_291/bin;%JAVA_HOME%/bin; 】(PS:大小写不敏感。找到储存JDK的地方,加上/Bin;%JAVA_HOME%/bin;),最后在path前面加上一串东西就可

  3. 验证是否完成:控制面板(开始菜单,搜cmd【或者win键+R】打开)输入java,javac,java-version(注意这个小杠杠不用按住shift键)【!!!!!所有的计算机符号输入全部都是英文字符,必须开英文键盘才能打出,比如[ ]/ …….】

  4. 配置完成

科普:什么是计算机

分为硬件和软件

硬件:CPU|主板|内存|电源|IO设备(即输入输出设备)/【IO的意思 i:input o:output】

软件:就是APP之类的东西:可以使计算机按照事先预定好的顺序完成特定的功能。

计算机常用快捷键

ALT+F4 关闭所有窗口

Ctrl+C 复制

Ctrl+A 全选

Ctrl+S 剪切

Ctrl+Tab 切换界面

Ctrl+V 粘贴

Ctrl+Z 撤销

Ctrl+S 保存

win+E 我的电脑

ctrl+shift+esc 撤销上一步

Markdown学习

6.11日学习了markdown,现在来复习下学过的内容加紧掌握

  1. 加粗:** **

    斜线:* *

    加粗+斜线*** ***

    删除线:

  2. 引用:>加空格 回车的作用

    我没说过这句话 –鲁迅

    生活就像海洋只有意志坚强的人才能到达彼岸(这里开头点了两次回车)

    我没说过这句话 –鲁迅

    生活就像海洋只有意志坚强的人才能到达彼岸(只点一次回车的效果)

  3. 蕾姆

    注意插入图片的时候要加! 格式: ! [必须是开英文键盘的时候才打得出来] ()外网的最可以,不受到限制

    超链接 :狂神说 比较插入图片来说少了一个感叹号

名字 性别 生日
1 2 0

找到markdow左下角的源代码

重点!!! DOS命令(大小写不敏感)

盘符切换:直接打CDEF:

直接dir,显示当前盘上所有的文件

cd+空格+输入想进入的目录,切到那个目录

cd_(横杠必须是英文件盘的shift+-),回到上级目录

md+空格 在此处创建目标文件夹

rd+空格 删除目标文件夹

cd>+空格+文件名 创建一个文件(如:helloworld.java)

del+空格 删除文件名

关键字

  1. JAVA中所有组成部分都需要名字

  2. 所有的标识符都应该以(A-Z)(a-z)(_)($)开始

  3. 标识符的大小字母敏感的(Hello!=Hello)

习惯类

  1. 所有的文件分类号,文件名,编写代码的时候不应该出现中文字符

  2. 文件名,编写代码的时候应该使用驼峰结构:首字母小写尔后单词的首字母大写,只有一个单词时可以大写

    如(helloWorld.java)

  3. 学会速写:psvm,pout等在IDEA的缩写

强类型语言(详)与弱类型语言(略)

强类型语言

  1. 要求变量的使用要严格符合规定,所有的变量都必须先定义后才能够使用

  2. JAVA有基本类型(primitive type)和引用类型(reference type)
    基本数据类型:有

    整数类型:byte short int long

    浮点类型:float double (微点:见注1)

    浮点数扩展:应试问题:在银行业务中如何表示钱?

    ​ 问题本质:了解浮点数其实并不准确(即他的离散型与有限性),很多时候在他的浮点类型的范围内会进行向下取整(否则溢出),这时候就要用到Math,BigDecimal这类数据类型,而问题中银行业务需要精确的计算,所以会用到//BigDecimal的数据类型

    (注1:)

    float num1=50.1	F  //F是为了让系统理解我们用的就是float类型而不是double类型
    

    字符类型:char

    boolean(布尔值)类型:boolean(用于判断是非)(注3)

    引用数据类型有类,接口,数组。

    布尔值扩展

    (注3:)

    psvm
    float d1 = 232323f;
    dloat d2 = d1 + 1;
    sout(d1==d2);
    //输出结果: false
    
    

    JAVA程序的运行机制

    编译型:直接翻译,但更新时需要全部再次翻译,一定情况下省时间,但浪费资源。

    解释型:对每一段话都进行翻译,读哪里翻译哪里,如果想回头读则还要再次翻译,性能损失,耗时。

    进程

    进程:二进制ob 十进制 八进制o 十六进制ox

    类型转换

    1.内存溢出的概念:内存溢出简单说就是超出了数据类型的范围,比如byte只能写0-8,一旦定义的数值或者计算的数值超出这个值,计算就会出错(注4)

    注4

    psvm
      byte b = 100;
      sout(b);
    //输出:-100
    

    2.强制转换:强制转换的目的就是让目标不内存溢出,格式(类型)变量名(注五)

    (tips:如果是;两个类型不一样的值进行运算,则默认将两个类型的变量转化成类型int再计算)

    注五

    psvm
      byte b = 100;
      sout((long)b);
    //输出:100
    

    注意事项:

    1. 不能对布尔值进行转换

    2. 不能把对象类转化为不相干的类型

    3. 在把高容量转换成低容量类型时不需要也不能使用强制转换,IDEA会报错,因为电脑会自动帮你转换(由低到高:byte<short<char<int<long<float<double)

    4. 转换时也能出现内存溢出或者精度问题

    5. 电脑优先在上一类型内进行运算,再输出的时候转换成想要输出的类型。注6

    注6

    psvm
      int money=1000000//这一步已经出现了问题
      int years=20
      long total= money * years
      	sout
      	//输出错误答案
    

    (微点:JDK7以上的特性,在数字之间可以用英文键盘下的下划线分割,不会对数字产生影响,便于观察)

JAVA SE

关键字,关键词,数据类型等

  1. 标识符与关键字:JAVA所有的组成成分都需要
    名字,类名,变量名以及方法名都被称作标识符

    1. 数据类型,分为int,short,type,long,数字类型double,float浮点类型
      boolean布尔值为三类,还有char字符类型,字符!=字符串,字符只有单个,而且需要
      引用字符时,格式A=’狂’。

    2. 强转:强转只需要高转低,低转高是自动转换,布劳费心。
      从高到低:double>float>long>type>int>short无关不能强转:比如char类型转成float。

    3. 如果两个数的数据类型不一样的话,JAVA会优先将他们转成int类型再计算。

  2. 变量:
    数据类型 变量名 =值;

  3. 运算符号

  4. 有:+ – * /(加减乘除) %(求余) ++ — (自增减)
    逻辑运算符: &&(且) ||(或) !(非)
    三元??运算符: > ? : (判断,如果是对的,则执行?之后的语句,否则就折行:之后的语句)

//判断 a++ 与 ++a 的 区别以及 >?= 的用法
class Demo01;
public static void main(String args[]){
      int a = 2;
        int b;
        System.out.println(a);  // a:2
        b=a++;
        System.out.println(b);  // b:2
        //先赋值再自增,先让b=a,再a++
        b=++a;
        System.out.println(b);  // b:4
        //先自增再赋值,即先a++,再b=a
        System.out.println("==================================");
        int c = 2;
        while (c<5){
            System.out.print(c+"/n");  //最终输出 2 3 4 5
            c++;
        }
        System.out.println("===================================");
        int d = 2;
        while (d<5){
            d++;
            System.out.print(d+"/n");  //最终输出3 4 5 6
            String grade = a<3 ? "不及格" : “及格”;
			System.out.println(grade)  //最后输出:”不及格“
        }
    }
}
  1. 一些用在 System.out.println() 上的?

    /n换行输出 相当于println里的ln 。

    /t 空格, 相当于在()里填写“ ”。

    括号开头增加双引号使得输出语句内不再运算而是全部打印出来(详看以下部分代码)

    int a = 2;
    int b = 3;
    System.out.println(a+b);  //输出 5
    System.out.println(""+a+b);  //输出  23
    
    

代码

  1. if 结构:如果需要两种以上的判断时,可以使用else if,否则else就够了
package Demo01;

public class Demo05 {
    public static void main(String[] args) {
//test 1: use IF to select ones grade.
        int a= 60;
        if (a>60){
            System.out.println("well");
        }else if (a==60){
            System.out.println("bad");
        }else if (a<60||a>0){
            System.out.println("worst");
        }else{
            System.out.println("error");
        }
  1. DoWhileWhile 的区别:有时候我们需要程序尽管判断时已经出错但仍然要运行一次时,要使用DoWhile结构,注意格式do写代码while跟判断
package Demo01;
public class Demo05 {
    public static void main(String[] args) {
 //distinguish "DoWhile" and"While"
        while(a!=60){
            a++;
            System.out.println(a);
        }
        do {      a++;
            System.out.println(a);
        } while(a==0);
    }
  1. Switch 结构 + break & continue

    break:完成这句话之前以及{}之内的任务后立即跳出循环,并且结束循环

    continue:完成这句话之前以及{}之内的任务后立即跳出循环,进入下一次循环

    char grade ='C';
        switch(grade){
            case 'A':
                System.out.println("perfect");
                break;
            case 'B':
                System.out.println("good");
                break;
            case 'C':
                System.out.println("bad");
                break;
            case'D':
                System.out.println("worst");
                break;
            default:
                System.out.println("unknown word");
               

continue 详解

//task:打印1-100所有可以被5整除但是要排除可以被10整除的数。
package Demo01;

public class Demo06 {
    public static void main(String[] args) {
        for(int i = 0;i<100;i++){
            if(i%5==0){
                if(i%10==0){
                    continue;
                }else{System.out.print(i+"/t");
                }
            }
            else{
                continue;
            }
        }
    }
}
//输出:5 15 25 35 45 55 65.....95

课堂任务:初步了解算法思维与用法

task1:打印九九乘法表

task2:打印三角形

public static void mian (String[] args){
    //打印九九乘法表
  for(int a=1;a<=9;a++){
      for(int b =1;b<=a;b++){
          System.out.print(a+"*"+b+"="+"a*b"+"/t");
      }
      System.out.println();
  }  
}
//灵活运用循环解决一些有规律的问题

package Demo01;
//打印一个三角形
public class Demo08 {
    public static void main(String[] args) {
        for (int a = 1; a <=5; a++) {
            for (int b = 5; b>=a; b--) {
                System.out.print(" ");}
                for (int c = 1; c <=a; c++) {
                    System.out.print("*");
                }
                for (int i = 1; i <=a-1; i++) {
                    System.out.print("*");
                }
            System.out.println();

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/java/274325.html

(0)
上一篇 2022年7月14日 15:45
下一篇 2022年7月14日 16:25

相关推荐

发表回复

登录后才能评论