首页
统计
邻居
留言
关于
Search
1
彩虹商城系统开发API文档
4,275 阅读
2
IntelliJ IDEA 报错TextMate bundle load error: Bundle kotlin can't be registered
3,719 阅读
3
使用RaiDrive将网盘映射为本地磁盘
2,141 阅读
4
谷歌浏览器 Google Chrome 69.0.3497.100 正式稳定版、测试版及开发版本大全
2,096 阅读
5
抖音、小红书、快手 免费三网解析去水印小工具
2,011 阅读
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
登录
Search
标签搜索
个人分享
Wordpress
浮夸小生。
Wordpress教程
Java
PHP
Wordpress优化
Java笔记
网络技巧
网站
CDN
Windows
又拍云
教程
浏览器
IntelliJ IDEA
html
建站教程
微信
情感杂文
浮夸小生。
累计撰写
83
篇文章
累计收到
219
条评论
首页
栏目
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
页面
统计
邻居
留言
关于
搜索到
15
篇与
Java学习笔记
的结果
2023-03-24
一篇文章带你入门Java字面量和常量
一篇文章带你入门Java字面量和常量目录引言概念字面量字面量的分类常量总结引言概念字面量: 又叫直接量或者数据,表示直接给出的一个值(可以是整数、小数、ture、false等等。常量: 是指在Java程序中固定不变的数据(字面量)。我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。字面量♀ 小AD:哥什么是字面量,光看定义不是很明白呢?♂ 明世隐:这还不明白吗?比如你今天去坐地铁,花了5块钱,这个5就是字面量。♀ 小AD:那我明天去更远的地方要8块钱呢?♂ 明世隐:那8就是字面量。♀ 小AD:还是不是很清楚,你还是举游戏的例子吧。♂ 明世隐:你这货,就举你最喜欢的,你杀一个敌方英雄多少金币。♀ 小AD:200啊♂ 明世隐:那200就是字面量。♀ 小AD:那我第2次杀他,就更少钱了可能180,我要是连续杀几次,他可能只值20块了。♂ 明世隐:那180、20就是字面量。♀ 小AD:好像有点明白了。♂ 明世隐:说到底就是指数据。♀ 小AD:哦♂ 明世隐:数据也分好几种类型字面量的分类字面量类型说明举例字符串字面量用双引号(")括起来的内容“小鲁班”,“明世隐”字符字面量用单引号(')括起来的内容‘男',‘女'整数字面量不带小数点的数字200 , 150小数字面量带小数点的数字3.14 , 66.66布尔字面量布尔值表示真假true,false空字面量一个特殊的值,空值null字符串字面量public static void main(String[] args) { System.out.println("小鲁班"); System.out.println("你个**,你特么*****"); }♀ 小AD:明哥我知道这个♂ 明世隐:说说看。♀ 小AD:这个好简单,第一个是我喜欢的小鲁班,第2个是我喷打野常用台词。♂ 明世隐:喷人你倒是记得清楚。这种用双引号包括的内容表示的,就是字符串字面量,也各类语言中常用的包括Java。♀ 小AD:嗯这个比较好理解。♂ 明世隐:记住双引号是英文的哦♀ 小AD:知道了字符字面量System.out.println('男'); System.out.println('A');♂ 明世隐:invalid character constant,大概意思就是“无效的字符常数”。♀ 小AD:就是说单引只能一个字符♂ 明世隐:对是这个意思,如果要多个字符,就用双引号表示字符串字面量。整形字面量System.out.println("第一次击杀"); System.out.println(200); System.out.println("第二次击杀"); System.out.println(180);♀ 小AD:这个我明白,200,180就是整形字面量♂ 明世隐:对的,不错。小数字面量System.out.println("的值是"); System.out.println(3.14); System.out.println("技能冷却时间(秒)"); System.out.println(3.5);布尔字面量System.out.println(true); System.out.prinszKeuhmGUtln(false);♀ 小AD:哥,我看这个true,false是关键字哦。♂ 明世隐:对的呀,布尔就两个值,true、false。♀ 小AD:哦。。♂ 明世隐:说的通俗点,当刺客突到你脸上的时候,你只有两种结果,没有第3种。♀ 小AD:不不不,有好几种,刺客生,刺客死,我生我死,他得200,我得200,你看有好多种情况吧。♂ 明世隐:但你没发现你这些都是对立的吗?♀ 小AD:好像是哦。♂ 明世隐:你就这样想,他突到你脸上,你的结果是什么就不会搞不明白。你的结果就2种,要么活,要么死。还有第3种情况吗。♀ 小AD:不好意思我有复活甲。♂ 明世隐:不好意思,既然是复活甲,那就是活,况且别人压起身,你还不得死。结果就只有生和死,没有别的。♀ 小AD:嗯,我知道了。明哥讲问题真的透彻哦。♂ 明世隐:没办法,谁叫哦遇到你这个大聪明呢?♀ 小AD:我猜你肯定在夸我,虽然我后背有一丝丝的凉。♀ 小AD:哥最后一个空字面我知道了,肯定这样写System.out.println(null);♀ 小AD:明哥,报错了,之前的不都这么写吗?♂ 明世隐:System.out.println()括号中如果传入null,不同形式的null最终的输出也不同。如果是直接传入null,则会报错,因为无法确定传入的值是什么对象。♀ 小AD:额。。不懂♂ 明世隐:意思就是别这么用,后面的章节会具体说明。♀ 小AD:好吧常量♀ 小AD:明哥明哥,我想发个言♂ 明世隐:哟,还举手发言拉,可以啊,今天送你一颗星(明日之星)。♀ 小AD:明哥威武,我想说常量很好理解,就比如我的身份证号码,从我出生到最后都是一样的,是不是可以看作是常量。♂ 明世隐:嗯,不错啊,这个确实可以这样理解的。♀ 小AD:还有还有,你看我的容颜,从小到大,都这么好看,以后也一直是这样的,也是一个常量♂ 明世隐:你这个叫好看?得了吧,你这个叫不丑。♀ 小AD:你要这么说的话,你跟打野对喷的时候,我可就不讲话了。♂ 明世隐:开什么玩笑,我专业喷子30年,就这些小学生,我喷他们可以不带脏字。♀ 小AD:你这个确实。。。有点溜♂ 明世隐:高端的喷子,往往喷人于无形。常量:是final关键字修饰的变量(在c语言中是被const修饰),初始化必须赋值,且类型和值不能再改变。public static void main(String[] args) { final String card = "3603749832492349"; System.out.println("身份证:"+card); }♀ 小AD:如果我给它修改一下呢?♂ 明世隐:那就会编译报错。♂ 明世隐:意思就是不能给常量赋值。♀ 小AD:我知道了,哥我有个好想法!♂ 明世隐:说说看。♀ 小AD:我把我击杀敌人获得的金币设置成常量,就不会越来越不值钱的♂ 明世隐:你这想法,有点邪恶啊。♀ 小AD:我全部设置成第一滴血的金币值,我看谁拦得住我,你看我写的代码。public static void main(String[] args) { final int gold=300; System.out.println("第1滴血:"); System.out.println(gold); System.out.println("第2次击杀获得:"); System.out.println(gold); System.out.println("第3次击杀获得:"); System.out.println(gold); System.out.println("小鲁班已经无人可挡了:"); System.out.println(gold); System.out.println("小鲁班正在大杀特杀:"); System.out.println(gold); System.out.println("小鲁班正在大杀特杀:"); System.out.println(gold); System.out.println("小鲁班已经超神了:"); System.out.println(gold); }♂ 明世隐:我草,这么灵性!♀ 小AD:你不是说程序员可以为所欲为吗?♂ 明世隐:这个倒是实话,你这都是第一滴血的钱,不爽到死啊 。♀ 小AD:对啊,我的程序我做主,我说了算♂ 明世隐:可惜不是你说了算,因为王者,马总说了算。♀ 小AD:我不管♂ 明世隐:行吧,今天多送你两颗星我说了算。♀ 小AD:明哥威武,起飞!
2023年03月24日
233 阅读
1 评论
0 点赞
2022-12-20
java知识点收录
{card-describe title="学习网址"}https://leetcode-cn.com/problemset/all/http://www.cyc2018.xyzhttps://www.nowcoder.com/ta/coding-interviewsJava 全栈知识体系https://www.pdai.tech/{/card-describe}永无止境深拷贝https://zhuanlan.zhihu.com/p/260117694https://github.com/lvminghui/Java-NotesHashmap https://zhuanlan.zhihu.com/p/21673805SpringBoot自动装配原理https://blog.csdn.net/qq_36986015/article/details/107488437b树和b+树的区别https://blog.csdn.net/login_sonata/article/details/75268075二叉树的四种遍历方式https://www.cnblogs.com/du001011/p/11229170.htmlMysql ACID https://www.jianshu.com/p/fc8a654f2205Mysql MVVC https://www.cnblogs.com/hirampeng/p/9944200.htmlMysql 覆盖索引 https://zhuanlan.zhihu.com/p/107125866JVM和JMM https://zhuanlan.zhihu.com/p/136623445,https://www.bilibili.com/video/BV12t411u726JDK1.7和JDK1.8的内存模型比较https://blog.csdn.net/Hollake/article/details/92762180Java中的常量池https://blog.csdn.net/zm13007310400/article/details/77534349接口和抽象类https://cloud.tencent.com/developer/article/1677833Spring实例化Bean三种方法https://www.cnblogs.com/liushiqiang123/p/11502986.htmlBean注入https://www.cnblogs.com/tuyang1129/p/12873492.html设计模式7大原则https://zhuanlan.zhihu.com/p/24614363OAuth2.0认证流程https://www.cnblogs.com/wudimanong/p/10821215.html线程池https://blog.csdn.net/ming1215919/article/details/114799184Listhttps://www.cnblogs.com/xiaobug/p/11606362.html解决--spring.profiles.active=prod设置的变量属性不起作用https://blog.csdn.net/shaojianjun521/article/details/102803303httputil https://www.cnblogs.com/i-tao/p/13638904.htmlConcurrentHashMaphttps://my.oschina.net/liboware/blog/5117011https://blog.csdn.net/qq_18300037/article/details/123795776nohup java -jar rjdataservice-1.0.0-SNAPSHOT.jar >logs.txt & --spring.profiles.active=test
2022年12月20日
261 阅读
2 评论
0 点赞
2022-05-02
java 随机生成验证码 思路
通过ASCII表生成大小写验证码 public static void main(String[] args) { System.out.println( createCode(6)); } public static String createCode(int n){ //int n 表示随机生成几位 Random r = new Random(); String code = ""; for (int i = 0; i < n; i++) { int type = r.nextInt(3); switch (type){ case 0: //大写字母 ASCII码 char ch = (char)(r.nextInt(25)+65); code += ch; break; case 1: //小写字母 ASCII码 char ch1 = (char)(r.nextInt(25)+97); code += ch1; break; case 2: //数字 code += r.nextInt(10); break; } } return code ; } }
2022年05月02日
408 阅读
3 评论
0 点赞
2022-04-10
tomcat 报错: A child container failed during start 解决方法
错误详情涓ラ��: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 7 more Caused by: java.lang.LinkageError: loader constraint violation: loader org.apache.catalina.loader.WebappClassLoader @53e582eb (instance of org.apache.catalina.loader.WebappClassLoader, child of org.codehaus.plexus.classworlds.realm.ClassRealm @257e0827 org.codehaus.plexus.classworlds.realm.ClassRealm) wants to load interface javax.servlet.ServletContext. A different interface with the same name was previously loaded by org.codehaus.plexus.classworlds.realm.ClassRealm @257e0827 (instance of org.codehaus.plexus.classworlds.realm.ClassRealm, child of 'bootstrap'). at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1191) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:165) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5423) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 more 12�� 19, 2019 3:20:08 涓��� org.apache.catalina.core.ContainerBase startInternal 涓ラ��: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:955) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290) at org.apache.maven.cli.MavenCli.main(MavenCli.java:194) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:47) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 more 解决方法pom.xml文件中servlet-api和jsp-api的坐标中缺少scope,加载<scrop>就可以 <!--servlet和jsp--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency>
2022年04月10日
446 阅读
0 评论
0 点赞
2022-01-10
Java Cookie-设置/获取 判断用户是否为第一次访问 且记录访问时间 小Demo
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取cookies response.setContentType("text/html;charset=utf-8"); Cookie[] cookies = request.getCookies(); boolean flag = false; //返回数组遍历数组 寻找 lastTime参数 if (cookies != null && cookies.length >0){ //遍历 for (Cookie cookie : cookies) { //获取 cookie 键 寻找 lastTime String name = cookie.getName(); if ("lastTime".equals(name)){ flag = true; //如果有 就不是第一次登录 Date date = new Date(); //设置时间戳格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); //返回日期 String src_date = sdf.format(date); //设置 cookie cookie.setValue(src_date); //设置cookie 存活时间 cookie.setMaxAge( 60 * 60 * 24 * 30 ); //添加cookie response.addCookie(cookie); //获取 cookie String value = cookie.getValue(); //打印信息 response.getWriter().write("<h1>欢迎回来,您上次的访问时间为"+ value + "</h1>"); } } } if (cookies == null || cookies.length == 0 || flag == false) { Date date = new Date(); //设置时间戳格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); //返回日期 String src_date = sdf.format(date); //设置 cookie Cookie cookie = new Cookie("lastTime",src_date); //设置cookie 存活时间 cookie.setMaxAge( 60 * 60 * 24 * 30 ); //获取 cookie response.addCookie(cookie); response.getWriter().write("欢迎用户,您是第一次访问登录!"); } }
2022年01月10日
378 阅读
0 评论
1 点赞
2021-12-04
IDEA中使用单元测试@Test等,提示没有 Junit.jar包
Junit 单元测试类 出现问题如下@Test 找不到包,没有提示导包并报错解决方法如下File-->Project Structure-->Modules-->右侧Dependencies-->+号-->JARs or directories...2.在弹出窗口中找到IDEA的安装目录-->点击lib展开-->选择所需的两个包(hamcrest-core-1.3.jar与junit-4.12.jar)-->点击ok3.勾选新加入的这两个包-->Apply-->OK {message type="success" content=" 然后就能愉快的使用@Test注解了"/}
2021年12月04日
886 阅读
0 评论
1 点赞
2021-11-22
Java反射学习 基础案例--小记
package cc.bltang.demo01; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.Properties; public class ReflectDemo02 { public static void main(String[] args) throws Exception { //反射 案例 Properties pro = new Properties(); //加载配置文件,转换为一个集合 //获取Class目录下的配置文件 ClassLoader classLoader = ReflectDemo02.class.getClassLoader(); InputStream is = classLoader.getResourceAsStream("pro.properties"); pro.load(is); //获取配置文件中定义的数据 String className = pro.getProperty("className"); String methodName = pro.getProperty("methodName"); //加载类进内存 Class<?> aClass = Class.forName(className); //创建对象 // Constructor<?> c = aClass.getConstructor(); // Object obj = c.newInstance(); Object obj = aClass.newInstance(); //获取方法对象 Method method = aClass.getMethod(methodName); //执行方法 method.invoke(obj); } }
2021年11月22日
297 阅读
0 评论
0 点赞
2021-10-29
JAVA_集合到文件数据排序
案例*需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩英语成绩)。要求按照成绩总分从高到低写入文本文件 格式:姓名,语文成绩,数学成绩英语成绩 举例:林青霞98,99,100import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet; public class Demo05Scanner { public static void main(String[] args) throws IOException { TreeSet<Student> ts = new TreeSet<>(new Comparator<Student>() { @Override public int compare(Student st1, Student st2) { //成绩从高到底 int num = st2.getSum() - st1.getSum(); //次要条件 //语文成绩相同 int num2 = num ==0? st1.getChinese() -st2.getChinese() : num; //数学成绩相同 int num3 = num2 ==0 ? st1.getMath() - st2.getMath() : num2; int num4 = num3 == 0 ? st1.getName().compareTo(st2.getName()) : num3; return num4; } }); BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java\\成绩.txt")); Scanner sc = new Scanner(System.in); for (int i = 0; i < 5; i++) { Student stu = new Student(); System.out.println("请第"+(i + 1)+"次输入姓名:"); String name = sc.next(); stu.setName(name); System.out.println("请"+(i + 1)+"次输入语文成绩:"); int chinese = sc.nextInt(); stu.setChinese(chinese); System.out.println("请"+(i + 1)+"次输入数学成绩:"); int match = sc.nextInt(); stu.setMath(match); System.out.println("请"+(i + 1)+"次输入英语成绩:"); int english = sc.nextInt(); stu.setEnglish(english); ts.add(stu); } for (Student t : ts) { //格式:姓名,语文成绩,数学成绩,英语成绩 StringBuilder sb = new StringBuilder(); sb.append(t.getName()).append(",").append(t.getChinese()).append(",").append(t.getMath()).append(",").append(t.getEnglish()); bw.write(sb.toString()); bw.newLine(); bw.flush(); } bw.close(); // 释放资源 }
2021年10月29日
355 阅读
2 评论
0 点赞
2021-10-28
Java 字符输出流及拷贝视频无法播放问题 --注意
注意java流分为两种流:字节流:可以用于读写二进制文件及任何文件 byte字符流:可以用于读写文本文件,不能操作二进制文件{message type="error" content="因此拷贝视频文件必须用字节流操作。"/}以下为错误示范public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("D:\\1\\10.27\\10.27-lly-6.mp4")); BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\工作\\10.27-lly-6.mp4")); char[] chars = new char[1024]; int len =0; while ((len =br.read(chars))!=-1){ bw.write(chars,0,len); } bw.close(); br.close(); }
2021年10月28日
562 阅读
0 评论
0 点赞
2021-10-07
Mysql数据库基础操作-笔记
CRUDDDL(操作数据库)R(Retrieve):查询查询所有数据库的名称:show databases;查看某个数据库的字符集(数据库编码如:gbk等):show create database //数据库名称; 返回信息 例如: CREATE DATABASE `student` /*!40100 DEFAULT CHARACTER SET utf8 */创建数据库:create database //数据库名称; create database if not exists 数据库名称; //创建数据库前判断一下该数据库是否存在,没有则创建 create database 数据库名称 character set //编码名称; 创建数据库,并且指定编码格式汇总:create database if not exists 数据库名称 character set 编码名称; //创建数据库前判断一下该数据库是否存在,没有则创建并且指定编码格式创建数据库U(Update):修改修改数据库的字符集: alter database 数据库名称 character set 编码名称;删除数据库:drop database 数据库名称; drop database if exists 数据库名称; 判断数据库是否存在,存在则删除;使用数据库: 查询当前正在使用的数据库名称:select database(); 使用数据库:use 数据库名称;DBL(操作表)1.C(create):创建create table 表名( 列名1 数据类型1, 列名2 数据类型2, ... 列名n 数据类型n ); //注意:最后一列,不需要加逗号(,) create table 表名2 like 表名1; //复制一份表1 到表2;数据类型:1.int:整数类型age int;3.double:小数类型;score double(5,2) //小数最多有五位,小数点后保留2位小数。3.date:日期,只包含年月日, yyyy-MM-dd;4.datatime:日期,包含年月日时分秒,yyyy-MM-dd HH:mm:ss5.timestamp:时间戳类型 包含年月日时分秒,yyyy-MM-dd HH:mm:ss *如果将来不给这个字段赋值,或赋值为Null,则默认使用系统时间,来自动赋值。6.varchar:字符串name varchar(20):姓名最大20个字符 zhangsan 8个字符 张三 2个字符创建表create table student( id int, name varchar(32), age int, score double(4,1), birthday date, insert_time timestamp );2.R(Retrieve):查询show tables; //查询某个数据库中所有的表的名称 desc 表名称; //查询表结构3.U(Update):修改 1.表名alter table 表名 rename to 新表名; 2.修改表的字符集alter table 表名 character set 编码名; //修改字符集 show create table 表名; //查看表的字符集 3.添加一列 alter table 表名 add 列名 数据类型;4.修改列名称 类型 alter table 表名 change 要修改的列名 新的列名 数据类型; 只修改类型: alter table 表名 modify 要修改的列名 数据类型;5.删除列 alter table 表名 drop 要删除的列名;4.D(De lete)drop table 表名; drop table if exists 表名;DML:增删改表中数据 1.添加数据: *语法: insert into 表名(列名1,列名2,....,列名n) values(值1,值2...值3){message type="error" content="*注意: 1.列名和值要一一对应。 2.如果表名后,不定义列名,则默认给所有的列添加值, insert into 表名 values(值1,值2...值n); 3.除了数字类型,其他类型需要引号(单双)引起来 "/} 2.删除数据 *语法:*delete from 表名 where 条件;{message type="error" content="*注意: 如果不加条件,则删除表中所有的记录"/}truncate table 表名; //删除表,然后在创建一个一模一样的空表 3.修改数据 *语法:update 表名 set 表名 列名1 =值1,列名2 = 值2,...[where 条件]{message type="error" content="* 注意: * 如果不加条件,会将表中所有的记录都将修改"/} DQL:查询表中的数据:select * from 表名; 1.语法:select(查询) 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定 2.基础查询: 1.多个字段的查询 2.去除重复select distinct 字段名 from 表名; 3.计算列SELECT 字段名,字段名,字段名,字段名+字段名 FROM student; SELECT 字段名,字段名,字段名,字段名 + IFNULL(字段名,0) FROM student; 4.起别名SELECT 字段名,字段名 别名,字段名 别名,字段名 + IFNULL(字段名,0) AS 别名 FROM student; 3.条件查询: 1.where子句后跟条件 2.运算符 *>、<、<=、>=、=、<> *BETWEEN...AND *IN(集合) *LIKE:模糊查询 *——:单个任意字符 *%:多个任意字符 *IS NULL *and 或 && *or 或 || *not 或 !SELECT*FROM student WHERE age > 20; SELECT*FROM student WHERE age < 20;等 SELECT * FROM student WHERE age >= 20 && age <= 30; // 年龄在 20-30之间 SELECT * FROM student WHERE age >= 20 AND age<= 30; // 年龄在 20-30之间 简化写法: SELECT * FROM student WHERE age BETWEEN 20 AND 30; // 年龄在 20-30之间 //查询年龄22岁,18岁,25岁 SELECT * FROM student where age=22 or age=18 or age=25; 简化写法: SELECT * FROM student WHERE age IN (22,18,25); 查询成绩为NULL的 SELECT * FROM student WHERE english IS NULL; 查询成绩不为NULL的 SELECT * FROM student WHERE english IS NOT NULL; *LIKE:模糊查询 SELECT * FROM student WHERE english IS NULL; -- 查询姓马的 SELECT * FROM student WHERE NAME LIKE "马%"; -- 查询第二个字是化的 SELECT * FROM student WHERE NAME LIKE "___腾%"; -- 查询名字是三位数的 SELECT * FROM student WHERE NAME LIKE "___"; -- 查询名字中包含马的 SELECT * FROM student WHERE NAME LIKE "%马%";{message type="info" content=" 1.DQL:查询语句 1.排序查询 2.聚合函数 3.分组查询 4.分页查询 2.约束 3.多表之间的关系 4.范式 5.数据库的备份和还原"/}DQL:查询语句 1. 排序查询 语法: roder by 子句 order by 排序字段 排序方式1,排序字段2 排序方式2.. 排序方式 : ASC : 升序,默认的。 SELECT * FROM student ORDER BY math ASC DESC : 降序 SELECT * FROM student ORDER BY math DESC {message type="error" content="注意:如果有多个排序条件,则当前的条件值一样时,才会判断第二个条件SELECT * FROM student ORDER BY math ASC, english ASC"/} 2. 聚合函数:将一列数据作为一个整体,进行纵向的计算。 1. count:计算个数 1. 一般选择非空的列:主键 2. count(*) *SELECT COUNT(IFNULL(english,0)) FROM student; 2. max:计算最大值 3. min:计算最小值 4. sum:计算和 5. avg:计算平均值 * 注意:聚合函数的计算,排除null值 解决方法: 1. 选择不包含非空的列进行计算 2. IFNULL函数 3.分组查询: 1. 语法:group by 分组字段 2. 注意: 1. 分组之后查询的字段:分组字段,聚合函数 2. where 和 having 的区别? 1. where 在分组之前进行限定,如果不满足条件,则不参与分组,having在分组之后进行限定,如果不满足结果,则不会被查询出来 2. where 后不可以跟聚合函数,having可以进行聚合函数的判断; *SELECT sex,AVG(math),COUNT(id) FROM student GROUP BY sex; *SELECT sex,AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id)>2; 4.分页查询 1. 语法:limit 开始的索引,每页查询的条数; 2. 公式:开始的索引 = (当前的页码 -1)* 每页的条数 3. 分页操作是一个"方言"约束 * 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 * 分类: 1. 主键约束:primarykey 2. 非空约束:not null 3. 唯一约束:unique 4. 外键约束:foregin key * 非空约束:not null 1. 创建表时添加约束 CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL ); 2. -- 删除 name的约束 ALTER TABLE stu MODIFY NAME VARCHAR(20) 3. -- 创建表后添加约束 ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL * 唯一约束:unique 1. 创建表时添加唯一约束 1. CREATE TABLE stu( id INT, phone_number VARCHAR(20) UNIQUE ); 2. 删除唯一约束 ALTER TABLE stu DROP INDEX phone_number; 3. 创建表后,添加唯一约束 ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE * 主键约束:primarykey 1. 创建表时添加主键 CREATE TABLE stu( id INT PRIMARY KEY , NAME VARCHAR(20) ); 2. 删除主键 ALTER TABLE stu DROP PRIMARY KEY; 3. 创建完成之后添加主键 ALTER TABLE stu MODIFY id INT PRIMARY KEY; 4. 自动增长: * 概念:如果某一列时数值类型的,使用 auto_increment 可以完成值的自动增长 * 创建表添加自动增长 CREATE TABLE stu( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); * -- 删除自动增长 ALTER TABLE stu MODIFY id INT * -- 添加自动增长 ALTER TABLE stu MODIFY id INT AUTO_INCREMENT * 外键约束:foreign key 1. 在创建表时,可以添加外键 * 语法: creat table 表名( ... 外键列 constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称) ) 2. 删除外键 * ALTER TABLE employee DROP FOREIGN KEY emp_dept_fk; 3. 创建表之后,添加外键 * ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) 4. 级联操作 *ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) ON UPDATE CASCADE DELETE CASCADE 1. 级联更新:ON UPDATE CASCADE 2. 级联删除:ON DELETE CASCADE
2021年10月07日
471 阅读
0 评论
1 点赞
1
2