零基础入门学习Java课堂笔记 ——day01
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的更多相关文章
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- 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封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...
- 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和
057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...
- 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念
055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...
随机推荐
- Serverless Devs 重大更新,基于 Serverless 架构的 CI/CD 框架:Serverless-cd
近日,Serverless 开发者平台 Serverless Devs 重磅发布基于 Serverless 架构的轻量级 CI/CD 框架--Serverless-cd.Serverless-cd 是 ...
- freeswitch的任务引擎问题与解决方案
概述 freeswitch核心框架中有一个定时任务系统task,在开发过程中用来做一些延时操作和异步操作很方便. 我们在VOIP的呼叫流程中,经常会有一些对实时性要求没那么高的操作,或者会有阻塞流程的 ...
- 如果诸葛亮会编程,用Java写出师表...
继上一篇 "如果诸葛亮用C#写出师表..."后,站长想自己的第一语言是Java,虽然平时工作上用的不多,也用Java实现一遍吧,改改就是了,无非就是: C#的Console.Wri ...
- 今天是个好日子,TaxCore(POS软件)备案指北
POS软件是什么?你好意思吗,还在用老掉牙的Winform. 关于POS 销售终端--POS(point of sale)是一种多功能终端,把它安装在信用卡的特约商户和受理网点中与计算机联成网络,就能 ...
- Oracle 不同字符集复合索引长度验证
Oracle 不同字符集复合索引长度验证 背景 前段时间同事找到一个参数, 可以解决Oracle的char和byte 模式存储超长的问题. 很大程度上解决了研发修改SQL的工作量. 但是发现在某些字符 ...
- [转帖]k8s ipv4/ipv6双栈实践
https://www.iceyao.com.cn/post/2020-11-28-k8s_dual_stack/ Posted by 爱折腾的工程师 on Saturday, November 28 ...
- 【转帖】一文解析ethtool 命令的使用
命令简介 ethtool命令用于查询和控制网络设备驱动程序和硬件设置,尤其是有线以太网设备,devname网卡的名称.网卡就像是交换机的一个端口,正常使用我们只是配置网卡IP地址等信息,网卡的速率.双 ...
- [转帖]接口偶尔超时,竟又是JVM停顿的锅!
https://www.cnblogs.com/codelogs/p/16391159.html 简介# 继上次我们JVM停顿十几秒的问题解决后,我们系统终于稳定了,再也不会无故重启了!这是之前的文章 ...
- Redis6.x 在Windows上面编译安装的过程
背景说明 在github上面仅能够找到 redis3.2.100的Windows安装文件 比较新的版本比较难以找到, 同事经常出现这个版本的redis卡死的情况, 所以想尝试进行一下升级. 第一部分下 ...
- vscode推荐插件
js相关的插件 JavaScript (ES6) code snippets Babel ES6/ES7 html css 汉化 Chinese (Simplified) (简体中文) Languag ...