Java入门笔记 01-Java基础语法
一、数据类型和运算符:Java是一种强类型语言,这意味着必须为每一个变量声明一种类型。
1.注释可以提高程序的可读性。可划分为
- 单行注释 //
- 多行注释 /.../
- 文档注释 /**...*/
2.标识符的命名规则:
- 标识符必须以字母、下划线_、美元符号$开头。
- 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
- Java 标识符大小写敏感,且长度无限制。
- 标识符不可以是Java的关键字。
3.标识符的命名规范:
- 表示类名的标识符:每个单词的首字母大写,如Man, GoodMan
- 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()
- 常量:所有字母都大写,两个单词间使用下划线连接。
4.变量的声明格式:
type varName [=value] [,varName[=value]...];
5.变量的分类:局部变量、实例变量、静态变量
6.常量的声明格式:常量一般使用全大写
final type varName = value ;
7.Java的数据类型可分为基本数据类型和引用数据类,基本数据类型的分类如下:
- 整型变量:byte、short、int、long
- 浮点型:float、double
- 字符型:char
- 布尔型:boolean,值为true或者false
float类型的数值有一个f或F后缀(如:3.14F),没有F后缀的默认为double类型。long类型的数值需要有一个L后缀。
8.Java语言支持的运算符可分为:整数除0会报异常,而浮点数除0会得到无穷大或NaN。
- 算术运算符: +,-,*,/,%,++,--
- 赋值运算符 =
- 扩展赋值运算符:+=,-=,*=,/=
- 关系运算符: >,<,>=,<=,==,!= ,instanceof
- 逻辑运算符: &&,||,! (&&和||是按照“短路”方式的,即如果第一个表达式已经能够确定表达式的值,就不需要计算第二个表达式),^(异或,当且仅当两个操作数具有不同的布尔值时,结果才为true)
- 位运算符: &,|,^,~ , >>,<<,>>>
- 字符串连接符:+
- 条件运算符 (三目运算符)?:
9.基本数据类型的类型转换可分为:
- 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型
(待修改.. P55)
强制类型转换:用于显式的转换一个数值的类型,语法格式:
数字类型用 (type)var
数字转String类型用 String.valueOf( value )
String类型转数字用parse函数,例如 Integer.parseInt
- 只有极少数情况需要将布尔类型的数据转换为数值类型,这时可以使用条件表达式 b?1:0。
10.键盘的输入:Scanner类的使用
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String s1 = scanner.nextLine();
//或者直接调用
String s2 = new Scanner(System.in).nextLine();
11. 数学函数:在源文件的顶部加上 import static java.lang.Math.*; 就不必添加前缀“Math”。
【补充 直接量】
默认情况下,整型直接量是一个十进制数。使用以下来表示其他进制的整型直接量。
- 0B:二进制
- 0:八进制
- 0X:十六进制
【补充 科学计数法】
- 1.23*10^2: 1.23E2
- 1.23*10^(-2): 1.23E-2
二、控制结构
1.从结构化程序设计角度出发,程序有三种结构:
顺序结构、选择结构和循环结构
2.选择结构
(1)if单选择结构 if-else双选择结构 if-else if-else多选择结构
(2)switch-case多选择结构
3.多选择结构与switch的关系:当布尔表达式是等值判断的情况,可使用多重选择结构或switch结构,如果布尔表达式区间判断的情况,则只能使用多重选择结构
(1) 循环结构
(2)当型:while与for
(3)直到型:do-while
4.while与do-while的区别,在布尔表达式的值为false时while的循环体一次也不执行,而do-while至少执行一次
5.break可以在switch与循环结构中使用,而continue只能在循环结构中使用
6.方法(Method)就是一段用来完成特定功能的代码片段,类似于其它语言的函数
7.方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法
8.任何能用递归解决的问题也能使用迭代解决。在要求高性能的情况下尽量避免使用递归,递归调用既花时间又耗内存。
参考:https://www.cnblogs.com/xjtu-lyh/p/12257523.html
Java入门笔记 01-Java基础语法的更多相关文章
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
- [Java入门笔记] 面向对象编程基础(三):成员变量和局部变量
在类中,变量根据定义的位置不同,可以分为成员变量和局部变量.
- 【python3两小时快速入门】入门笔记01:基础
又要我搞爬虫了,这次的源网站使用的ajax加载数据,我用java爬下来的页面内容部分全都是空,虽然java也有插件,但是使用起来感觉很麻烦,所以,python!老子来了. 1. 版本:pytho ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- 【转载】Java系列笔记(1) - Java 类加载与初始化
Java系列笔记(1) - Java 类加载与初始化 原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 ...
- Go 语言入门(一)基础语法
写在前面 在学习 Go 语言之前,我自己是有一定的 Java 和 C++ 基础的,这篇文章主要是基于A tour of Go编写的,主要是希望记录一下自己的学习历程,加深自己的理解 Go 语言入门(一 ...
- Java系列笔记(2) - Java RTTI和反射机制
目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...
- 【转载】Java系列笔记(3) - Java 内存区域和GC机制
Java系列笔记(3) - Java 内存区域和GC机制 转载:原文地址http://www.cnblogs.com/zhguang/p/3257367.html 目录 Java垃圾回收概况 Java ...
- 黑马程序员_java基础笔记(01)...java的环境搭建
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— JavaSE(Java Standard Edtion java标准版)技术概况 ...
随机推荐
- (DFS)HDU_1241 Oil Deposits
HDU_1241 Oil Deposits Problem Description The GeoSurvComp geologic survey company is responsible f ...
- Git的基本使用 -- 创建本地仓库
下载安装 Git-2.25.0-64-bit .exe 查看是否安装成功 git --version 创建本地仓库 创建一个文件夹用于存放项目文件 在创建好的文件中右键选择 Git Bash Here ...
- spring controller中默认转发、forward转发、redirect转发之间的区别
默认转发 @RequestMapping("/123") public String test(HttpSession session) { System.out.println( ...
- Spring - MVC - thymeleaf 缓存关闭
1. 概述 spring 配合 thymeleaf 关闭页面缓存 2. 背景 最近复习 spring 找了本书叫 spring in action 5th 本人水平有限 书还写得那么难 调试中遇到了问 ...
- 作业2:go实现一个压测工具,具备upload功能
作业:go实现压测工具,具备upload功能. upload内容是.tar.gz,使用http协议上传. 要求:upload的文件名,http目的地址灵活可配. deadline:2019.4.30
- 【做题笔记】P2251 质量检测
一看题就知道是线段树裸题了.可是,对于每个 \(i\) ,对应的 \(Q\) 序列的下标是多少呢?应该查询的区间又是什么呢? 找规律: \(i\ \ \ \ \ \ \ \ m\) \(1\ \Rig ...
- power-plan如何定
Power-Plan或者说PG如何打,这是一个仁者见仁智者见智的问题,没有一个标准的答案,因为有各种各样的影响因素.本文将列举一些可能的影响因素: 1.和design 相关 1) Utilizati ...
- 封装一个漂亮的ant design form标签组件
在ant design 的form组件中 能用于提交的组件比较少,所以我在这写了一个可以单选.多选标签提交的组件,调用非常简单. 代码: import React,{Fragment} from 'r ...
- Linux新建SVN版本库
1.进入svn 版本库(如/www/svn) 2.创建svn 版本库svnadmin create edition 3.进入新建的版本库库目录cd edition 4.进入版本库配置目录cd con ...
- Go 语言 fmt.Sprintf (格式化输出)
Printf().Sprintf().Fprintf() 函数的区别用法是什么? 都是输出格式化字符串,只是输出到的目标不一样: Printf() 是把格式化字符串输出到标准到标准输出(一般是屏幕,可 ...