Java Basic-2:if/switch/loops/exception/assertion

Java Basic-2
关于if、switch
--------------
part 1: if
1.if(expression):括号是必须的。
2.expression必须是boolean型的变量或者是可以解析成boolean的表达式。
3.注意在if中“=”和“==”的区别。
4.parenthese:小括号,curly brace:大括号,indentation:缩进。
--------------
part 2:switch
1.switch(x),x:byte/short/int/char only.
2.case x:x必须是具体的值或者是常量。
3.记住还有break。
4.default:当没有东西匹配的时候,default发挥作用,default的位置可以随意放置,
  当没东西匹配的时候,default run,此时如果没有break,程序会从break的位置顺
  序执行,直到遇到break或switch结束。
--------------
part 3:loops
1.Java的循环有3种:for/while/do-while.
2.for(declaration/initialization;boolean;iteration).
3.for中的变量要么提前声明,要么在for中声明。
4.for中声明的变量,生命周期只在for中。
5.在for的第一部分,可以初始化多个变量,用“,"隔开。
6.do-while至少执行一次。
7.break跳出循环。
8.continue跳出本次,执行下一次。
9.return跳出函数。
--------------
part 4:exception
1.exception分为2种:checked & unchecked
2.try-catch-finally,throws
3.无论是否有exception抛出,无论exception是否被catch,fianlly都会执行。
4.当产生的exception关闭了JVM,fianlly就不会执行了。
5.call stack
6.可以继承Exception,来产生自己的异常类。
5.call stack
6.可以继承Exception,来产生自己的异常类。
7.当有多个catch时,顺序应从特定到一般,或者说从Exception的子类到父类,由下到上。
--------------
part 5:Assertion
1.在1.4之后,assert(x>1),assert is a keyword.
2.assertion在deployed时候是默认是关闭的。
3.java -ea/java -da
4.assertion可以针对class或package使用。
5.java -ea -da:MyClass TestClass.
6.在public函数里不要使用assertion。
7.Asserion具体什么时候用,到底有什么用,还不清楚。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如何解决Loading and preparing results... DONE (t=0.01s) creating index... index created! Running per image evaluation... Evaluate annotation type *bbox* DONE (t=0.44s). Accumulating evaluation results... Traceback (most recent call last): File "tools/train.py", line 133, in <module> main() File "tools/train.py", line 129, in main runner.train() File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/mmengine/runner/runner.py", line 1721, in train model = self.train_loop.run() # type: ignore File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/mmengine/runner/loops.py", line 102, in run self.runner.val_loop.run() File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/mmengine/runner/loops.py", line 366, in run metrics = self.evaluator.evaluate(len(self.dataloader.dataset)) File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/mmengine/evaluator/evaluator.py", line 79, in evaluate _results = metric.evaluate(size) File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/mmengine/evaluator/metric.py", line 133, in evaluate _metrics = self.compute_metrics(results) # type: ignore File "/home/wangbei/mmdetection(coco)/mmdet/evaluation/metrics/coco_metric.py", line 512, in compute_metrics coco_eval.accumulate() File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/pycocotools-2.0-py3.8-linux-x86_64.egg/pycocotools/cocoeval.py", line 378, in accumulate tp_sum = np.cumsum(tps, axis=1).astype(dtype=np.float) File "/home/wangbei/anaconda3/envs/Object_mmdetection/lib/python3.8/site-packages/numpy/__init__.py", line 305, in __getattr__ raise AttributeError(__former_attrs__[attr]) AttributeError: module 'numpy' has no attribute 'float'. `np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 29887 closing signal SIGTERM ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 29886) of binary: /home/wangbei/anaconda3/envs/Object_mmdetection/bin/python
最新发布
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值