Java学习日记(一)

本文章是自己学习Java的过程

本人目前研二,实验室做的内容大多为深度学习的内容,不过目前算法岗过于卷,因此现在打算转开发岗,目前确定的方向是大数据开发方向,因此查看了一下大概要求,最终还是决定先从JavaSE开始学起,在此记录一下自己学习过程遇到的问题和解决过程,希望给遇到同样问题的人一些启发。

本篇主要是最基础的内容,因为曾经有C语言和python基础,这一部分会省略很多基础内容,从下一章开始使用基础内容进行一些实战部分。
目录
一、安装
二、Hello
三、基础内容

菜鸟教程链接:菜鸟教程
零、导论笔记
Java学习日记(一)_第1张图片

一、安装环境和编译器安装
开发环境JDK
JDK下载的是zulu的JDK:azul
Java学习日记(一)_第2张图片

编译器IDEA:IDEA

安装的话随便点点就行。

二、经典Hello World

public class Project2 {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

三、Java基础语法
推荐一个大佬整理的知识点链接:
大佬知识点
以下是通过大佬的内容自己做的一些总结内容:
语法规范:
所有Java语句必须以;结尾!
无论是(),,[],还是{},都必须一一匹配

基础语法(面向过程,就是在代码块中的变量)
变量和关键字

int a = 10;
a = 20;
a = 30;

变量和C语言中的变量不同,Java中的变量事存放在JVM管理的内存中,所以Java没有指针(芜湖!)
Java事强类型语言,只有明确定义了变量后才能使用。一旦被指定某一类型,那么它将始终被认为是对应的类型(和JS不一样)。

变量名命名规则大差不差
e.g:关键字不能做为变量名

关键字知识点
final 最终变量名,不能再改了。

//这样就不行
final int a = 10;
a = 20;

注释

//单行注释

/**
*多
*行
*注释
*/

Java数据类型
整数类型
byte 8位
short 16位
int 32位
long 64位
浮点类型
字符类型
字符串(是一个类,不是数)

类型转换
1、隐性转换
byte→short(char)→int→long→float→double
2、硬性转换
3、数据类型自动提升

byte a = 105;
a = a + 1;   //自动提升到int了,所以会报错!
System.out.println(a);

在参与运算时,所有的byte型、short型和char的值将被提升到int型:
除此以外,还有以下特性
如果一个操作数是long型,计算结果就是long型
如果一个操作数是float型,计算结果就是float型
如果一个操作数是double型,计算结果就是double型

//结合硬性转换和隐性转换
int a = 1;
int b = 2;
double d = a / b;
System.out.println(d);//这样输出是0.0

//分界线
int a = 1;
int b = 2;
double d = a / (double) b;
System.out.println(d);//这样输出是0.5

运算符
都很简单,a++和++a不一样,++a就是先增,a++是用完再增。
里面也有C语言包含的三目运算符

条件判断
结构跟C语言很像
两种:
if-else

if(判断条件1){
  //前提是判断条件1要成功才能进来!
  if(判断条件2){
    //判断成功执行的内容
  }else{
    //判断失败执行的内容
  }
}

switch:每个case的break不能少(switch相比if查找效率更高,运行更快)
case

switch(判断主体){
  case1:
    //运行xxx
    break;  //break用于跳出switch语句,不添加会导致程序继续向下运行!
  case2:
    //运行xxx
    break;
  case3:
    //运行xxx
    break;
}

循环结构
for语句

for(初始条件;循环条件;更新){
  //循环执行的内容
}
//循环结束后,继续执行

还有个for-each的语法糖,还没学到,先记录一下吧。

while循环

while(循环条件){
  //循环执行的内容
}

do{
  //执行内容
}while(循环条件);

break和continue
break是跳出循环(只跳出一层循环)
continue是直接执行下一次循环

你可能感兴趣的:(java,学习,jvm)