重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Java基础语法
创新新互联,凭借十余年的成都网站设计、做网站经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有成百上千家案例。做网站建设,选创新互联。
一、代码规范
1. 大小写敏感。
2. 类名的首字母大写。多单词组成的类名,每个单词的首字母大写。
3. 方法名以小写字母开头。多单词组成的方法名,则后面的每个单词首字母大写。
4. 所有的名称必须以字母(A-Z, a-z)、数字(0-9)、下划线(_)、美元符号($)开头
5. 关键字不能作为任何名称
6. 每个 .java 文件是能有一个 public 类,且该类名与文件名相同。可以有多个非 public 类
7. 单行注释使用 // ,多行注释使用 /* *** */
二、基本语法
1. 类的声明
[public] class ClassName {
}
2. 构造方法
构造方法是一种特殊方法,用来初始化对象, 即为对象成员变量赋初始值。它的名称必须与类名相同
如:
复制代码
class Animal {
//构造方法(与类名相同,无返回值):初始化
public Animal(String myName, int myid) {
name = myName;
id = myid;
}
}
复制代码
3. 变量声明
基本格式如下:
type identifier [ = value][, identifier [= value] ...]
格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。
如:
int a, b, c; // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte age = 22; // 声明并初始化 age
String name = "Delav"; // 声明并初始化字符串 name
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char sex = 'm'; // 声明变量 sex 的值是字符 'm'。
如果需要控制访问,可以在前面添加相应的修饰符 [ public | private | protected ] [ static ] [ final ]
public:公共变量——不同包也可访问;
private:私有变量——只能在本类中访问;
protected:受保护的变量——同包及子类可访问;
上面三个都不加:默认——同包可访问;
static:静态成员——该类的所有对象共享该变量。
final:最终成员,其值不能被改变;
4. 方法声明
基本格式如下:
[public|private|protected] [static] [final] 返回类型 方法名(形参){
body;
return 表达式;
}
没有返回值时, 【返回类型】为 void
如:
复制代码
public class Animal {
public void eat() {
System.out.println("吃东西");
}
public int getAge() {
return 23;
}
public static void sleep() {
System.out.println("睡觉");
}
}
复制代码
5. 主方法
每个 public 类都必须有一个主方法,所有的 Java 程序由 主方法开始执行。
主方法的写法为:
public static void main(String []args) {
}
6. 创建对象
创建对象使用 new 关键字
基本格式为
类名 对象名 = new 类名();
如:
//构造方法为空
Person person = new Person();
//构造方法不为空,需赋值
Student student = new Student("Delav");
由以上的知识就可以写一个基本的完整Java程序
复制代码
class Animal {
private String name;
private int id;
public int i = 66666;
String str = "My name is word";
//构造方法(与类名相同,无返回值):初始化
public Animal(String myName, int myid) {
name = myName;
id = myid;
}
public void eat() {
System.out.println(name + "正在吃");
}
public void sleep() {
System.out.println(name + "正在睡");
}
public void introduction() {
System.out.println("大家好!我是" + id + "号" + name + '.');
}
}
public class AnimalTest {
public static void main(String[] args) {
Animal animal = new Animal("Delav", 666);
animal.eat();
animal.introduction();
}
}
在学java一定要问问自己喜欢吗?只要喜欢一切没问题,这是我的建议:多敲代码,多敲代码,多敲代码,重要的事情说三遍
学习Java决不能听完敲一遍就过,一定要多敲几遍,第一遍可以跟着老师的思路,后面一定要有自己的思路,慢慢培养自己的编程思想和实现功能的逻辑。甚至可以自己给自己出题,完全靠自己实现一些有意思的小功能,对提升自己的能力和代码熟练度都有不小的帮助。
多看视频,多练习,主要是练习一些算法的运用,建议下载一些编程练习题,一道一道弄通弄懂。经常做笔记,用记事本把一些经典问题保存下来,以备复习。
如果是零基础的话,就看视频,b站上高旗老师讲得不错,每看到视频出现一段代码就马上在电脑上给他跑出来,不要直接拿源码光盘来复制,不要把视频看完半段了才开始敲代码。这样几天后你会找到一些感觉,然后没事就想些代码来写写,比如想下怎样把名字转换成乱码,然后再用另一个方法转换回来,模拟步话机发送几条消息什么的。这样下去不出3月你定牛逼,这时再把教材拿出来仔细看每一句话,掌握原理。
希望你早日学成,有苦恼一起讨论一下。
工资高不一定你就能够学会,如果谁都能学会那他工资还有这么高吗
如果实在想学,建议你先去网上找找视频看看Java了再去学
Java学习路线:
JavaSE-数据库-JDBC-前端基础-JQuery-JavaWEB-Spring-MyBatis-Maven-SpringBoot-SpringCloud-Redis-Git-Linux
整体教程目录:
项目源码:
微服务项目:
项目优化:
Linux:
阶段1 java语言基础
1-1-Java基础语法
1、第1节 java运行环境 提取码:8ax6
2、第2节 HelloWorld案例 提取码:us3j
3、第3节 关键字标识符 提取码:13dl
4、第4节 常量变量 提取码:6331
5、第5节 数据类型转换 提取码:9glo
6、第6节 运算符 提取码:ys2n
7、第7节 方法入门 提取码:b1ib
8、第8节 JDK9新特性-Jshell 提取码:ounw
9、第9节 选择结构-if语句-switch语句 提取码:0d14
10、第10节 循环结构-for-while-do..while 提取码:k2ig
11、第11节 开发工具-IDEA 提取码:404i
12、第12节 方法复习 提取码:ulku
13、第13节 方法重载 提取码:wfkr
14、第14节 数组 提取码:p8ml
1-2 -面向对象和封装
1、1_2_1_01_面向对象思想的概述 提取码:599q
2、1_2_1_02_面向对象思想的举例 提取码:lv2s
3、1_2_1_03_类和对象的关系 提取码:7rs3
4、1_2_1_04_类的定义 提取码:xvhx
5、1_2_1_05_对象的创建及其使用 提取码:xsal
6、1_2_1_06_手机类练习 提取码:lnho
7、1_2_1_07_一个对象的内存图 提取码:wnaz
8、1_2_1_08_两个对象使用同一个方法的内存 提取码:thet
9、1_2_1_09_两个引用指向同一个对象的 提取码:3he6
10、1_2_1_10_使用对象类型作为方法的参 提取码:73w4
11、1_2_1_11_使用对象类型作为方法的返 提取码:gjmn
12、1_2_1_12_成员变量和局部变量的区别 提取码:eqep
13、1_2_1_13_面向对象三大特征之封装性 提取码:zlcz
14、1_2_1_14_private关键字的作用及使用 提取码:4i77
15、1_2_1_15_练习使用private关键字定义 提取码:dctu
16、1_2_1_16_this关键字的作用 提取码:x68z
17、1_2_1_17_构造方法 提取码:8xkz
18、1_2_1_18_定义一个标准的类 提取码:opmf
1-3-Java语言高级
1、01-常用API_1 提取码:alfe
2、02-继承与多态 提取码:h5o7
3、03-常用API第二部分 提取码:olnf
4、04-集合 提取码:40ca
5、05-异常与多线程 提取码:mu40
6、06-File类与IO流 提取码:4bpt
7、07-网络编程 提取码:s5ks
8、08-JDK8新特性 提取码:jnbj
9、09-基础加强 提取码:1ngz
10、10-MySQL 提取码:30y4
11、11 -JDBC 提取码:15q7
阶段2 JavaWeb+旅游网
01 HTML和CSS
1、第1节 概念介绍 提取码:dal6
2、第2节 基本标签 提取码:4uyq
3、第3节 表单标签 提取码:h1ok
4、第4节 CSS概述 提取码:ubyx
5、第5节 CSS_选择器 提取码:zep7
6、第6节 CSS属性 提取码:9l4h
7、第7节 CSS_案例-注册页面 提取码:onc6
02 JavaScript
1、01 JavaScript_简介 提取码:2efk
2、02 JavaScript基础语法 提取码:bl89
3、03 JavaScript运算符 提取码:v9sh
4、04 JavaScript特殊语法 提取码:yj6p
5、05 JavaScript_语法_流程控制语 提取码:tx9j
6、06 JavaScript_对象 提取码:df4q
7、07 DOM和事件的简单学习 提取码:ljt5
8、08 BOM对象 提取码:jwwy
9、09 DOM对象 提取码:ukah
10、10JavaScirpt中的事件 提取码:ab1w
03 BootStrap
1、01 快速入门 提取码:5jhm
2、02Bootstrap_栅格系统 提取码:1xuu
3、03Bootstrap_全局CSS样式 提取码:fjka
4、04Bootstrap_组件和插件 提取码:g5wp
5、05案例_旅游网 提取码:jxy3
04 XML
1、01 xml基础 提取码:jose
2、02 xml_约束 提取码:q0xr
3、03 xml_解析 提取码:bbsn
05 Tomcat
1、01web相关概念 提取码:p2az
2、02 tomcat基本操作 提取码:zqqx
3、03 tomcat_部署项目 提取码:i4a2
06-Servlet和HTTP请求协议
1、01Servlet_快速入门 提取码:ah8k
2、02Servlet_生命周期方法 提取码:w7t9
3、03Servlet_3.0注解配置 提取码:d8zy
4、04 IDEA与tomcat相关配置 提取码:5rvl
5、05 Servlet_体系结构与urlpartten配置 提取码:qf3i
6、06 HTTP请求协议 提取码:5f7v
07 -Request和Respons
1、01 Request原理和继承体系 提取码:3hxr
2、02 Request_获取请求数据 提取码:oxl7
3、03 请求转发和request共享数据 提取码:9xbq
4、04 Request_获取ServletContext 提取码:yfaz
5、05 request登录案例 提取码:owgj
6、06 HTTP响应协议 提取码:xs8k
7、07 response之重定向 提取码:i8de
8、08 response之相对路径和绝对路径 提取码:6p8q
9、09 response之输出数据 提取码:54fe
10、10 response之验证码 提取码:uy06
11、11 ServletContext对象 提取码:yopc
12、12 文件下载 提取码:szv9
08-Cookie和Session
1、第1节 Cookie快速入门 提取码:ncss
2、第2节 Cookie_细节 提取码:la7v
3、第3节 Cookie案例 提取码:mamn
4、第4节 JSP改造Cookie案例 提取码:fpkd
5、第5节 Session快速入门 提取码:0tyf
6、第6节 Session细节 提取码:obu1
7、第7节 Session之验证码案例 提取码:fxtt
09-JSP,EL和JSTL
1、第1节 JSP基础语法 提取码:7rvw
2、第2节 MVC 提取码:ywmz
3、第3节 EL介绍和运算符 提取码:5gxf
4、第4节 EL获取域中存储的数据 提取码:yha0
5、第5节 JSTL常用标签 提取码:mr92
10-综合案例(用户信息)
1、第1节 登录功能 提取码:d7v4
2、第2节 添加删除修改功能 提取码:40df
3、第3节 删除选中功能 提取码:jhlx
4、第4节 分页查询功能 提取码:8mxb
5、第5节 复杂条件查询功能 提取码:qj8m
11-Filter和Listener
1、第1节 Filter快速入门 提取码:7qrm
2、第2节 Filter细节 提取码:s2w9
3、第3节 Filter案例 提取码:f53s
4、第4节 监听器 提取码:kjwy
12-Jquery
1、第1节 JQuery基础 提取码:0uj1
2、第2节 JQuery选择器 提取码:o85w
3、第3节 Jquery基础案例 提取码:5u3t
4、第4节 JQuery动画和遍历 提取码:ut21
5、第5节 JQuery事件绑定和切换 提取码:e5sv
6、第6节 Jquery高级案例 提取码:ytj4
13-Ajax和JSON
1、第1节 原生JS方式实现Ajax 提取码:xh70
2、第2节 JQuery方式实现Ajax 提取码:woaa
3、第3节 JSON基础语法 提取码:pqhj
4、第4节 JSON_解析器 提取码:zbzx
14-Redis
1、第1节 Redis环境搭建 提取码:poob
2、第2节 Redis命令操作 提取码:bq6d
3、第3节 Redis持久化 提取码:0x4x
4、第4节 Jedis代码操作 提取码:bon3
5、第5节 Jedis连接池 提取码:hu0n
6、第6节 redis案例 提取码:cosn
15-Maven基础
1、第1节 基本概念 提取码:4fok
2、第2节 maven的安装和仓库种类 提取码:gw1r
3、第3节 maven标准目录结构和常用命令 提取码:3jn7
4、第4节 maven生命周期和概念模型图 提取码:oqrb
5、第5节 使用骨架创建maven的java工程 提取码:k26p
6、第6节 maven工程servlet实例 提取码:xdmw
16-旅游网
1、01 准备工作 提取码:uprl
2、02 注册功能 提取码:9pf5
3、03 登陆和退出功能 提取码:0hkk
4、04 BaseServlet抽取 提取码:qswt
5、05 分类数据展示功能 提取码:649n
6、06 旅游线路分页展示分页展示 提取码:o6v6
7、07 旅游线路查询 提取码:pzjb
8、08 旅游线路详情 提取码:wtke
9、09 旅游线路收藏 提取码:3236
阶段3 1.Mybatis
1、01.Mybatis课程介绍及环境搭建 提取码:6zwc
2、02.Mybatis入门案例 提取码:2aoi
3、03.自定义Mybatis框架 提取码:r9wc
4、04.自定义Mybatis框架基于注解开发 提取码:1jzg
5、05.使用Mybatis完成CRUD 提取码:d4b7
6、06.使用Mybatis完成DAO层的开发 提取码:dzvr
7、07.Mybatis的连接池及事务 提取码:ij3e
8、08.动态SQL 提取码:yiys
9、09.Mybatis的多表操作 提取码:dt9w
10、10.JNDI扩展知识 提取码:u5fx
11、11.Mybatis的缓存 提取码:ng54
12、12.Mybatis注解开发 提取码:yh6z
阶段3 2.Spring
1、01.Spring框架简介 提取码:va1x
2、02.程序间耦合 提取码:s8cg
3、03.Spring的 IOC 和 DI 提取码:59of
4、04.Spring的常用注解 提取码:tfw5
5、05.基于XML的IOC的案例1 提取码:1gf9
6、06.Spring的新注解 提取码:pjzs
7、07.银行转账案例 提取码:um2b
8、08.面向切面编程 AOP 提取码:4tv2
9、09.JdbcTemplate的基本使用 提取码:vjxx
10、10.Spring中事务控制 提取码:rx3v
阶段3 3.SpringMVC
1、01.SpringMVC概述及入门案例 提取码:e2ty
2、02.参数绑定及自定义类型转换 提取码:657g
3、03.SpringMVC常用注解 提取码:emrc
4、04.SpringMVC返回值类型及响应数据类型 提取码:bd9t
5、05.文件上传 提取码:pzy7
6、06.异常处理及拦截器 提取码:7a2y
7、07.SSM整合案例 提取码:lzzd
阶段4 3.Spring Data JPA
1、01.JAP的引入 提取码:o61r
2、02.JPA的入门案例 提取码:ld9u
3、03.主键生成策略 提取码:f8ri
4、04.JPA的基本操作 提取码:yxcv
5、05.JPQL查询 提取码:cxwq
6、06.spring data jpa 简介 提取码:678v
7、07.入门案例 提取码:2u3l
8、08.执行过程分析 提取码:upe4
9、09.spring data jpa查询 提取码:smsc
10、10.动态查询 提取码:qoxx
11、11.多表操作-一对多 提取码:fai2
12、12.多表操作-多对多 提取码:bvvg
13、13.对象导航查询 提取码:ietq
阶段4 4.Spring Boot
1、01.spring boot 介绍 提取码:fzi8
2、02.spring boot 入门 提取码:bp25
3、03.spring boot 原理分析 提取码:8yer
4、04.spring boot 配置文件 提取码:wvoc
5、05.spring boot 集成 提取码:ywin
阶段4 5.Git
1、01.Git简介及安装使用 提取码:a0kx
2、02.连接远程仓库 提取码:kziq
3、03.Git分支 提取码:5rm2
原文链接:
楼主:
没记错应该是这样的:Comparator是接口,接口本身不能实例化,只能靠它的实现类来实例化,如果像你那样写当然错了。
public Static Animal get(String choice)//这句是定义一个静态方法get ,static表示该方法是静态方法, void表示方法没有返回值(在方法没有返回值时用),而该句的返回值类型是Animal (Animal是一个用户自定义的类 类似你熟知的int,string,char等), 例如public viod get(){}这个方法就没有返回值且是非静态方法 而public static string set(){}这个方法就是静态方法且返回值的string类型。请不要混淆返回值类型与static二者并非一个概念
静态与非静态:当一个函数或者一个变量前面加上static时表示该方法或变量是静态的,否则就是非静态的。java和c#一样是面向对象的语言,创建一个类后需要实例类的对象调用方法或者变量,当声明的方法或者变量时静态时就可以直接用类名调用,因为静态的是属于类所有,并非属于类的某个对象
choice是什么意思? choice是get方法的形式参数(形参)通俗一些就是个傀儡,只有这个get方法被调用的时候形参就被赋予了实参的值,才真正有了意义。例如你的例子Animal al=Store.get("dog");中调用了get方法并传递实参"dog" ,此时choice的值就是"dog","dog"与"dog"当然是俩个相等的字符串 所以程序最后输出的肯定和狗有关。如果get方法被调用时传的实参不是"dog",Animal al=Store.get("pig");此时choice值就是"pig","pig"与“dog”不是相同的字符串所以最后结果肯定和猫又关(呵呵)
if(choice.equalsIgnoreCase("dog"))是什么意思? 这是判断当get函数被调用时传递的实参是否是“dog”, java中equalsIgnoreCase是判断两个字符串是否相等它不考虑大小写,如果两个字符串的长度相等,并且两个字符串中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。(当get被调用时choice的值就变为实参的值)
正如LS所说main 方法是java程序的入口,当程序运行时首先运行main方法中的内容 ,记住main方法的格式就行,以后你会慢慢理解main
如果还有不是很清楚的地方 百度hi我……
这回答应该通俗易懂不知lz满意否?怎么样给分吧……