Java语法

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

注释

不会被程序执行的代码或者块

//双斜杠表示单行注释

/*表示多行注释*/

标识符、关键字

关键词系统事先定义好的,我们能直接拿来用的,不能作为变量名使用

  • 所有的标识符只能以字母、美元符号、下划线开始

  • 首字母后可以以字母、美元符号、下划线或者数字组合

  • 不能使用关键字作为标识符,标识符区分大小写

  • 可以使用中文作为标识符(不推荐)

2.数据类型

Java是一门强类型语言:要求变量的使用严格符合规定,所有话能量要先定义后才能使用

Java两大数据类型

  • 基本数据类型
  • 引用数据类型

public class Demo{
public static void main(String[] args){ //基本数据类型的表示
int num1 = 10; //最常用的int
byte num2 = 20; //字节类型
short num3 = 30; //短整数类型
long num4 = 60L; //长整数类型 末尾L表示
float num5 = 50.1F //浮点数float后面+f
double num6 = 3.1415926535//浮点数类型
char word = 'H' //char类型表示一个字符 一个!
boolean t = true; //true or flase }
}

3.基本类型拓展

public class demo{
public static void main(String[] args){ //整数
int i_10 = 10; //表示十进制数的10
int i_8 = 010; //表示八进制数的10
int i_16 = 0x10 //表示是十六进制数的10 //字符 字符本质还是数字 (int)可以强制转换为其对应的数字,其数字是对于的ASCLL码
char a = 'n';
char b = '你';
System.out.println(a);
System.out.println((int)a); System.out.println(b);
System.out.println((int)b); //布尔值
boolean flag = true;
if(flag){} = if(flag == true){}
}
}

4.类型转换

在Java运算中,不同类型的数据要先转化为同一数据类型,然后就行运算

原则上转换规则如下:

  • 强制类型转换(高到低)
  • 自动类型转换(低到高)
public class demo{
public static void main(String[] args){
int i = 128;
byte b = (int)i; //强制类型转换 内存溢出
System.out.println(b); //-1
}
}

注意点

1.不能对boolean类型转换

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

3.转换会造成精度损失

拓展:数字之间可以用下划线分割

int money = 100_0000_0000;

5.变量

数据类型 变量名 = 值;

type varName [=value] [{,varName[=value]}];

变量作用域

  • 类变量

    被static修饰 可以在其他方法内部直接使用

  • 实例变量

    与类绑定,调用前必须先new类的对象

  • 局部变量

    在方法内部定义,仅限于方法内部使用

public class Demo{

    //类变量 static
static double salary = 2500.0; //属性:实例变量 不初始化会编程默认值
//所有数值都是0或0.0 bool默认是false
//除了基本类型都是NULL
int i = 10; public static void main(String[] args){
System.out.println(salary);
int i = 10; //属性:局部变量
} //其他方法
public void other(){
Demo d = new Demo();//使用实例对象
System.out.println(d.i);
}
}

常量

一旦被定义就不能被改变的称之为常量,常量必须初始化!

final PI = 3.1415926; //常量一般使用大写字母表示

6.基本运算符 operator

public class demo{
public static void main(String[] args){
int a = 10; //赋值运算符
int b = 20; System.out.println(a+b); //30
System.out.println(a-b); //-10
System.out.println(a*b); //200
System.out.println(a/(double)b); //0.5
System.out.println(a%b); //0 System.out.println(a<b); //true
System.out.println(a>b); //false
System.out.println(a==b); //false
System.out.println(a!=b); //true int c = a++;
int d = ++a;
System.out.println(c); //10
System.out.println(d); //12
System.out.println(a); //12 //拓展:幂运算
double pow = Math.pow(2,3)//2*2*2;
System.out.println(pow); //8
}
}

如果运算过程中有long类型的话那么结果都为long反之所有结果都为int

(cast 转换)

逻辑运算符

  • 与(and) &&

    两个运算符都为真时返回真 【运算符相乘】

  • 或(or) ||

    两个运算符其中一个为真返回真【运算符相加】

  • 非(nor) !

    单个运算符取相反的结果【运算符取反】

public class demo{
public static void main(String[] args){
int a = true;
int b = false; System.out.println(a&&b);//false
System.out.println(a||b);//true
System.out.println(!a);//false }
}

短路运算

与运算时如果第一个操作数为假那么直接返回假 不会计算第二操作数

或运算时如果第一个操作数为真那么直接返回真 不会计算第二操作数

public class demo{
public static void main(String[] args){
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5 boolean d = (c>4)||(c++<4);
System.out.println(d);//true
System.out.println(c);//5
}
}

位运算

&:位相乘结果

|:位相加结果

^:位是否相同 相同得1 反之得0

~:是1得0 是0得1

<<、>>:左移、右移运算符

public class demo{
public static void main(String[] args){
/*
0000 0000 0
0000 0001 2 2<<0
0000 0010 4 2<<1
0000 0100 8 2<<2
0000 1000 16 2<<3
*/
System.out.println(2<<0);//0
System.out.println(2<<3);
}
}

效率高!!!!

条件运算符

x ? y : z

如果x为真返回y反之返回z

public class demo{
public static void main(String[] args){
int y = 10;
int z = 20;
int x = (y==10)?y:z;
System.out.println(x); //10
}
}

运算符优先级

7.包机制

  • 类===>文件

  • 包===>文件夹

一般包以公司域名导致规则

例如:www.baidu.com 倒置后 com.baidu.www

在IDEA创建包时可以输入com.baidu.www会自动创建各个层级包

在Java代码中可以使用package来关联包名

package com.baidu.www; //导入本类包
import java.util.Data; //导入外类包

package必须在import上面

8. Java Doc

/**
* @Description 这是文档注释
* @Author StarVik
*/

在控制台编译Doc注释信息为一个文档

javadoc -encoding UTF-8 charset UTF-8 demo.java

课程来源:B站 遇见狂神说

零基础入门学习Java课堂笔记 ——day01的更多相关文章

  1. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  2. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  3. 《零基础入门学习Python》【第一版】视频课后答案第001讲

    测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...

  4. 零基础入门学习Python(1)--我和Python的第一次亲密接触

    前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...

  5. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  7. 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则

    080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...

  8. 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和

    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...

  9. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  10. 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念

    055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...

随机推荐

  1. 文件上传accept参数可接受的类型汇总

    https://www.cnblogs.com/huihuihero/p/17012817.html 1 // 文件上传accept接受的文件类型 2 3 export const fileTypes ...

  2. [Troubleshooting] kubectl cp exit code 255 - exec: \"tar\": executable file not found in $PATH"

    0. 背景 kubectl cp container 文件到本地 host 报错: $ kubectl cp test/po-test-pod-0:/tmp ./ -c ctr-test-contai ...

  3. KVM 核心功能:CPU 虚拟化

    1 vCPU 简介 CPU 负责计算机程序指令的执行.QEMU-KVM 提供对虚拟机 CPU 的模拟,对于虚拟机来说,其拥有的 CPU 是真实的, 和物理 CPU 没有区别. 实际上,虚拟机在 hos ...

  4. SV Interface and Program

    内容 验证平台与待测设计的连接 VTB driver和dut之间的连线通过tb中声明wire连线 通过例化dut的方式进行连接 A module的input连接到B module的output SVT ...

  5. 17-三态门(TSL)

    三态门(TSL) 普通的逻辑电路只有两个状态,还有一个高阻态. EN是高电平1 A,B,EN之间的关系是与的关系,当EN为1得时候,EN就不起作用了,输入由A,B决定.EN端为高电平,所以二极管D2截 ...

  6. 【rt-thread】SConscript文件添加格式必须是4空格开头

    SConscript文件添加格式必须是4空格开头,TAB或其他数量的空格均错误

  7. 阿里云ECS自建K8S_IPV6重启后异常问题解决过程

    阿里云ECS自建K8S_IPV6重启后异常问题解决过程 背景 最近安装了一个单节点的K8S_IPV6 昨天不知道何故 突然宕机了. 然后只能在阿里云的控制台后台重启了ECS 启动之后看K8S的状态一开 ...

  8. [转帖]PG Exporter

    http://v0.pigsty.cc/zh/docs/reference/kernel-optimize/ Exporter https://github.com/Vonng/pg_exporter ...

  9. CentOS7上面一键部署rabbitmq的简单方法

    1. rabbitmq的安装部署比redis之类的要麻烦一些. 主要是他是基于erlang写的 而不是基于c或者是c++写的 2. 很多时候编译需要添加很多组件, 但是一些机器可能不会让添加这么多的组 ...

  10. 内网CentOS7搭建ntp服务器实现内网时间同步

    内网CentOS7搭建ntp服务器实现内网时间同步 背景 公司内部有很多虚拟机,本来很简单的实现了每天晚上自动同步阿里云时间 crontab -e 1 1 * * * ntpdate ntp.aliy ...