java web(后端+前端) 学习路线记录---1.Java(更新中)

这篇具有很好参考价值的文章主要介绍了java web(后端+前端) 学习路线记录---1.Java(更新中)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java学习

资源:狂神说

一.基础语法

1.注释、标识符、关键字

(1) 建立空项目来建立java项目:
java web(后端+前端) 学习路线记录---1.Java(更新中),java,前端,学习
java web(后端+前端) 学习路线记录---1.Java(更新中),java,前端,学习

(2) 单行注释://注释
(3) 多行注释:/*
Djandjan
/
(4) 文档注释: /
* */
2标识符(类名,变量名,方法名)
(5) 关键字
java web(后端+前端) 学习路线记录---1.Java(更新中),java,前端,学习

(6) 标识符注意点:

2.数据类型

(1) 要求变量严格符合规范,所有变量先定义后使用(java, c++)
(2) 弱类型语言(js,vb)
(3) 分类 ①基本类型
②引用类型

    //小数;浮点数
    float num5=50.1F;
    double num6=3.415926;

    //字符
    char name='马';
    //String不是关键字,是一个类
    //String name="秦疆";

    //布尔值;是非
    boolean flag = true;

3.类型转换

public class Demo3 {
    public static void main(String[] args) {
        //整数拓展:  进制 二进制ob 十进制 八进制o 十六进制ox
        int i =  10;
        int i2 = 010;  //八进制
        int i3 = 0x10; //十六进制
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("=================================");


        //浮点数拓展 银行业务怎么表示 BigDecimal 数学工具类
        //float 有限 离散 舍入误差 大约 接近但不相等
        //double
        //最好避免完全使用浮点数进行比较
        float f = 0.1f;    //0.1
        double d = 1.0/10; //0.1
        System.out.println(f==d);
        System.out.println(f);
        System.out.println(d);

        float d1 = 32423423423f;
        float d2 = d1+1;
        System.out.println(d1==d2);


        //字符类拓展
        System.out.println("==============================");
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);//强制换行
        //所有字符本质还是数字
        //编码 Unicode 表:97=a 65=A 2字节 0-65536 Excel
        //U00000-UFFFFF
        char c3 ='\u0061';
        System.out.println(c3);//a

        //转义字符
        // \t 制表符
        // \n 换行
        //.....
        System.out.println("l\tl\nd");

        System.out.println("=========================");
        String sa = new String("dcfs");
        String sb = new String("dcfs");
        System.out.println("sa==sb");

        String sc = "qqqq";
        String sd = "qqqq";
        System.out.println(sc==sd);
        //对象 从内存分析

        //布尔值拓展
        boolean flag = true;
        if(flag==true){}
        if(flag){}//建议精简代码
    }
}


public class Demo4 {
    public static void main(String[] args) {
        int i = 128;
        double b = i;
        byte c = (byte)i;//内存溢出 -128
        //强制类型转换 (类型)变量名 高----低
        //自动转换 低-----高
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);

        /*
        * 注意点:
        *1.不能对布尔值进行转换
        *2.不能吧对象转换成不相干的数据
        *3.把高容量转换成低容量的要强制转换
        *4.转换时会出现内存溢出问题,或者精度问题
        * */
        System.out.println("===============");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.3);//-45

        System.out.println("===============");
        char c1 = 'a';
        int  d1 = c1+1;
        System.out.println((char) d1);


        //操作比较大的数,注意溢出问题
        //JDK新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int year = 20;
        int total1 = money*year;// -147484163,计算时已经溢出了
        long total2 = money*year; //默认是int,转换之前已经存在问题了

        long total3 = money*((long)year);//先把一个数据转换成Long
        System.out.println(total3);
    }
}

4.变量 常量 作用域

public class Demo5 {
    //属性:变量

    //常量 修饰符 不存在先后顺序
    static final double PI = 3.14;



    //类变量static
    static double salary = 2500;

    //实例变量:从属于对象;如果不初始化,这个类型的默认值0,0.0
    //布尔值:默认值是false
    //除了基本类型,其余默认值都是null;
    String name;
    int age;


    //main 方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化,局部变量只在方法快里起作用
        int i = 10;
        System.out.println(i);

        //变量类型 变量名字=new Demo5();
        Demo5 demo5 = new Demo5();
        System.out.println(demo5.age);
        System.out.println(salary);

        System.out.println(PI);
    }

    //其他方法
    public void add(){

    }

5.运算符

 int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a+b);
        System.out.println(a*b);
        System.out.println(a-b);
        System.out.println(a/(double)b);//注意运算结果范围
  long a = 12312312312313L;
        int b = 123;
        short c = 8;
        byte d = 8;

        System.out.println(a+b+c+d);//Long
        System.out.println(b+c+d);//Int
        System.out.println(c+(double)d);//Tnt
    int a = 10;
        int b = 20;
        int c = 21;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

        System.out.println(c%a);//取余 模运算
  int a = 10;
        int b = 20;
        int c = 21;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

        System.out.println(c%a);//取余 模运算
   //++ --  自增 自减 一元运算符
        int a = 3;

        int b = a++; //"后加加",先给b赋值,再自增
        // a=a+1;

        System.out.println(a);

        //a=a+1;
        int c = ++a;//“前加加”,先自增,再给b赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算2^3   2*2*2 = 8 使用工具类操作(Math)
        double pow = Math.pow(2, 3);//Math.pow(2,3) Alt+Enter
        System.out.println(pow);
  //与(and) 或(or)  非(and)
        boolean a = true;
        boolean b = false;

        System.out.println("a&&b"+(b&&a));//逻辑与运算:两个变量为真,结果才为true
        System.out.println("a||b"+(a||b));//逻辑或运算:两个变量有一个为真,结果才为true
        System.out.println("!(a&&b)"+(a&&b));//真->假 假->真

        //短路运算 c<4为false ,后面c++不执行
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);//false
        System.out.println(c);//5
    /*
        * A = 0011 1100
        * B = 0000 1101
        * ------------------
        * A&B = 0000 1100
        * A|B = 0011 1101
        * A^B = 0011 0001 相同为0,不同为1
        * ~B = 1111 0010
        *
        * 2*8 = 16 2*2*2*2
        * 增加效率!!!
        * <<   *2
        * <<   /2
        * */

        System.out.println(2<<3);
    int a = 10;
        int b = 20;

        a+=b;//a=a+b
        a-=b;//a=a-b

        System.out.println(a);

        //字符串连接符 + ,String  ""+()=字符串
        System.out.println(""+a+b);
        System.out.println(a+b+"");
  //x ? y : z
        //如果x==true, 则结果为y,否则为z

        int score = 50;
        String type = score < 60 ? "不及格":"及格";
        System.out.println(type);

二.Java流程控制

1.Javadoc

public class Doc {
    String name;
    /**
     * @author kuangshen
     * @version 1.0
     * @since 1.11
     */

    /**
     * @author Kuangshen
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }

2.用户交互Scanner

public class Demo1 {
    public static void main(String[] args) {

        //创建一个扫描器对象,用于接受键盘数据
        Scanner scanner = new Scanner(System.in);// new Scanner(System.in)+alt+Enter

        System.out.println("使用next方式接受:");

        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            //使用Next方式接受
            String str = scanner.next();
            System.out.println("输入的内容为"+str);
        }

        //凡属于Io流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
        scanner.close();
    }
}
  public static void main(String[] args) {
        //创建一个扫描器对象,用于接受键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接受:");

        if(scanner.hasNextLine()){
            //使用Next方式接受
            String str = scanner.nextLine();
            System.out.println("输入的内容为"+str);
        }
        scanner.close();
public static void main(String[] args) {
        //创建一个扫描器对象,用于接受键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("输入数据:");


            String str = scanner.nextLine();
            System.out.println("输入的内容为: "+str);

        scanner.close();
    }
 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //从键盘接受数据
        int i = 0;
        float f = 0.0f;

        System.out.println("请输入整数:");

        //如果 .... 那么
        if(scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("整数数据为:"+i);
        }else{
            System.out.println("输入的不是整数数据!");
        }

        //如果 .... 那么
        if(scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数数据为:"+i);
        }else{
            System.out.println("输入的不是小数数据!");
        }
    }
public static void main(String[] args) {
        //我们可以输入多个数字,并求和与平均数,每输入一个数字用回车表示
        Scanner scanner = new Scanner(System.in);

        //和
        double sum = 0;
        //计算输入了多少个数字
        int m = 0;

        //通过循环判断是否还存在输入,并在里面对每一次进行求和和统计
        while(scanner.hasNextDouble()){
            double x = scanner.nextDouble();//scanner.nextDouble();输入一个数
            m=m+1;//m++
            sum = sum +x;
            System.out.println("你输入了第"+m+"个数据,当前的结果sum+"+sum);
        }

        System.out.println(m+"个数的和为:"+sum);
        System.out.println(m+"个数的平均值为:"+(sum/m));


        scanner.close();
    }

3.选择结构

if单选择结构
  public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入内容:");
        String s = scanner.nextLine();

        //equal:判断字符是否相等
        if(s.equals("hellow")){
            System.out.println(s);
        }

        System.out.println("end");
        scanner.close();
if双选择结构
 //双选择结构
    public static void main(String[] args) {
        //考试分数大于60就是及格,小于60分就是不及格
        Scanner scanner = new Scanner(System.in);

        System.out.println("输入成绩:");
        int score = scanner.nextInt();

        if(score>60){
            System.out.println("及格");
        }else{
            System.out.println("挂了");
        }

        scanner.close();

    }
if多选择结构
 public static void main(String[] args) {
        //多选择结构
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩: ");
        int score = scanner.nextInt();

        if(score==100){
            System.out.println("满分");
        }else if (score<100&& score>90){
            System.out.println("A");
        }else if (score<90&& score>80){
            System.out.println("B");
        }else if (score<80&& score>70){
            System.out.println("C");
        }else if (score<70&& score>60){
            System.out.println("D");
        }else if (score<60){
            System.out.println("挂了");
        }else{
            System.out.println("成绩不合法");
        }

        scanner.close();
    }
switch选择结构
  public static void main(String[] args) {
        //case具有穿透性,需要break进行停止
        //seitch匹配一个具体的值

        char grade = 'A';

        switch(grade){
            case'A':
                System.out.println("优秀");
                break;//可选
            case'B':
                System.out.println("良好");
                break;//可选
            case'C':
                System.out.println("及格");
                break;//可选
            case'D':
                System.out.println("挂科");
                break;//可选
            default:
                System.out.println("未知");

        }

    }
循环结构

1.while循环

  public static void main(String[] args) {
        //输出1~100

        int i = 0;

//        System.out.println(i++);
//        System.out.println(i++);
//        System.out.println(i++);
//        System.out.println(i++);
//        System.out.println(i++);
//        System.out.println(i++);
//        System.out.println(i++);

        while (i<=100){
            i++;
            System.out.println(i);
        }
    }
  public static void main(String[] args) {

        //死循环
        while(true){
            //等待客户检查
            //定时检查

        }
    }
 public static void main(String[] args) {
        //计算1+2+3....100=?
        int i = 0;
        int sum = 0;

        while(i<=100){
            sum = sum +i;
            i++;
        }
        System.out.println(sum);
    }

2.do…while

 public static void main(String[] args) {
        int i = 0;
        int sum = 0;

        do{
            sum = sum +1;
            i++;
        }while(i<=100);
        System.out.println(sum);
    }
 public static void main(String[] args) {

        //do....while至少执行一次
        int a = 0;
        while(a<0){
            System.out.println(a);
            a++;
        }

        System.out.println("===============");
        do{
            System.out.println(a);
        }while (a<0);
    }

3.for

 public static void main(String[] args) {
        int a = 1;//初始化条件

        while(a<=100){//条件判断
            System.out.println(a);//循环体
            a+=2;//迭代
        }

        System.out.println("while循环结束");

        //初始化//条件判断 //迭代
        for (int i = 0; i < 100; i++) {
            System.out.println(i);
        }
        System.out.println("for循环结束!");

        //死循环
        for (; ;) {

        }
    }
 public static void main(String[] args) {
        //计算1~100之间奇数和偶数的和

        int oddSum = 0;
        int evenSum = 0;

        for (int i = 0; i < 100; i++) {
            if(i%2!=0){
               oddSum+= i;
            }else {
                evenSum+=i;
            }
        }
        System.out.println("奇数和的"+oddSum);
        System.out.println("偶数和的"+evenSum);
    }
 public static void main(String[] args) {
        //用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个

        for (int i = 0; i < 1000; i++) {
           if(i%5==0){
               System.out.println(i+"/t");
           }
           if(i%(5*3)==0){//每行
               System.out.println();
               //System.out.print("/n");
           }
        }
        //pritntln  输出完全会换行
        //print     输出完不会换行
    }
  public static void main(String[] args) {
        //打印九九乘法表
        /*
        * 1.我们先打印第一列
        * 2.固定的1再用一个循环包起来
        * 3.去掉重复项
        * 4.调整样式
        * */

        for (int j = 1; j <= 9; j++) {

            for (int i = 1; i <= j; i++) {
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }

    }
  public static void main(String[] args) {
        int[] number = {10,20,30,40,50};

        //遍历数组
        for (int x:number){
            System.out.println(x);
        }
        System.out.println("==============");
        for (int i = 0; i < 5; i++) {
            System.out.println(number[i]);
        }
    }

4.break、continue

 public static void main(String[] args) {
        int i = 0;
        while(i<100){
            i++;
            System.out.println(i);
            if(i==30){
                break;
            }
        }
        System.out.println("1,2,3");
    }
  public static void main(String[] args) {
        int i = 0;
        while(i<100){
            i++;
            if(i%10==0){
                System.out.println();
                continue;
            }
            System.out.print(i);
            System.out.print("\t");
        }
      
    }
    1.break在任何循环语句的主题部分,均可用break控制循环流程。
    2.break用于强行退出循环,不执行剩余语句。(break语句也在switch语句中使用)
    3.continue语句在循环语句体中,用于终止某次循环过程,即跳出循环体中尚未执行的语句,接着执行下一次是执行循环的判定。

训练:打印三角形文章来源地址https://www.toymoban.com/news/detail-828319.html

 public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for(int j=5;j>=i;j--) {
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++){
                System.out.print("*");
            }
            for(int j=1;j<i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }

三.Java方法详解

到了这里,关于java web(后端+前端) 学习路线记录---1.Java(更新中)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【后端学前端学习记录】学习计划

            写了足够久的后端了,常用的语言基本上都接触过,没有在工作中写过前端 一直想做一些前端的工作,但是前端技能不足加上自己审美不行,写出的界面总是很丑 所以一直对前端做不好,也没有真正下手。 种一棵树最好的时间是十年前,其次是现在   想做一个自己

    2024年02月04日
    浏览(26)
  • 【WEB前端进阶之路】 HTML 全路线学习知识点梳理(中)

    本文是HTML零基础学习系列的第二篇文章,点此阅读 上一篇文章。 标题是通过 h1 - h6 标签进行定义的。 h1 定义最大的标题。 h6 定义最小的标题。浏览器会自动地在标题的前后添加空行,例如: 标题用来正确的显示文章结构 ,通过不同的标题可以为文章建立索引,所以,标题

    2024年02月02日
    浏览(28)
  • 【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引

    自学Java怎么学,找对方向很关键!在这里为大家分享最全的架构师级 Java全栈学习路线及知识清单 ! 包含 JavaSE基础 , JavaWeb , SSM框架 , Linux运维 , 分布式与微服务 , 大数据开发 ~ 本人研究人生一枚,自学Java中,后期会逐步分享清单中所有技术与知识的详细介绍文章,

    2024年02月03日
    浏览(34)
  • Java学习星球,Java学习路线

    大家好,我是哪吒,一个靠着热情攀登至C站巅峰的中年男子,CSDN粉丝40万+,2022CSDN博客之星Top1,2021CSDN博客之星Top2,8年开发管理经验,目前就职于某一线大厂,专注Java硬核干货分享,立志做到Java赛道全网Top N。 最近有很多小伙伴参加了我的新星计划2023·第1期【Java】赛道报

    2024年02月02日
    浏览(27)
  • Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新

    安装Docker。 为Zabbix创建专用网络 zabbix-net 。 创建数据库用户 zabbix 和数据库 zabbix 。 172.20.240.0【Zabbix 专用网络的 Gateway IP 下边有查询方法】 172.17.0.8【云服务器的内网IP】 开启JAVAGATEWAY服务: 2.1 agent 其他启动命令: 踩坑记录: 2.2 agent2 Zabbix agent 2 是新一代的 Zabbix agent,可以

    2024年02月02日
    浏览(26)
  • JAVA-web后端

    controller 只是简单的java的一个类 java意义规范的技术 servlet tomcat也称为servlet容器 Interger age springboot会自动类型转换 post请求参数在请求体body from表单 x-www-form-urlencoded 中携带 将所有的请求参数都封装在实体类当中 默认是封装到数组,封装到集合要加注解@RequestParam 将多个请求

    2024年04月16日
    浏览(49)
  • Java学习路线(16)——异常

    一、异常 1、概念: 程序在“编译”或“执行”时可能出现的问题。(语法错误不算异常) 2、常见的异常 数组索引越界 空指针 日期格式化 … 3、作用: 触发异常后,如果没有提前处理,JVM将终止,提高程序的健壮性和安全性。 4、异常体系 Error: 系统级别问题、JVM退出等

    2024年02月06日
    浏览(36)
  • Java学习路线(23)——反射机制

    一、概述 (一)什么是反射: 反射指的是任何一个Class类,在“运行时”都可以直接得到全部成分。 (二)动态可获取的对象: 构造器对象——Constructor,成员变量对象——Field,成员方法对象——Method。 (三)反射关键: 第一步都是得到编译后的Class对象,然后可以获得

    2024年02月08日
    浏览(36)
  • 前端传值,java后端接收

    var arr = [ 0, 1, 2]; var myJSON = JSON.stringify(arr); 此时myJSON字符串就是’[0,1,2]\\\',传给后台接受 前端 后端方法1(使用spring注解@RequestBody接收): 后端方法1的对象UserDto 后端方法2(使用JSON.parseArray()把前端 [{“loginAct”:111,“loginPwd”:1111},{“loginAct”:222,“loginPwd”:2222}] 数据转化为LI

    2024年02月13日
    浏览(26)
  • Java学习路线(4)——程序流程控制

    一、顺序结构 顺序结构是程序默认流程。 二、分支结构 if 作用: 主要用于区间匹配。 格式1: 格式2: 格式3: 注意: 当语句体只有一条程序时,可以将{}去除。 switch 作用: 适用于值匹配分支选择,即作为字典进行查找。 格式: 注意: (1)表达式类型仅支持byte、short、

    2024年02月05日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包